ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



 

Часть 16


ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є           SET MARK OF           є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Указание пункта  меню  или  символа маркера в команде всплывающего
меню
    Синтаксис
    SET MARK OF MENU  TO  | 
    SET MARK OF PAD  OF  TO  | 
    SET MARK OF POPUP  TO  | 
    SET MARK OF BAR  OF TO  | 
    Замечания
    Новая в FoxPro 2.0
    Смотри также
    CNTBAR(), CNTPAD(), DEFINE BAR, DEFINE MENU, DEFINE PAD,
    DEFINE POPUP, MRKPAD(), MRKBAR()
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Символ маркера  помещается перед каждым пунктом или командой поль-
зовательских меню. Это одиночный символ помещаемый слева от пункта или
команды меню.  Символ  маркера может использоваться для указания,  что
данный пункт или команда меню доступны.  Символ  маркера  может  поме-
щаться перед  пунктами  и  командами в Системных меню.  Данные команды
позволяют указывать символ маркера, а также удалять его.
    MRKPAD() и  MRKBAR() дают возможность высвечивать или убирать сим-
вол маркера для пунктов и команд меню.  Для установки маркера в проти-
воположное  состояние  в  пункте меню используйте !MRKPAD() в .
Для установки маркера в команде меню используйте !MRKBAR() в .

    Команды и дополнительные опции
    SET MARK OF 
    Символ маркера указывается для каждого пункта в меню с помощью SET
MARK OF .

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

    
    Если логическое  выражение    принимает  значение  "истина"
(.T.),  то символ маркера высвечивается перед каждым пунктом меню. Для
того чтобы убрать символ  маркера,  необходимо  установить  логическое
значение  в "ложь" (.F.).

    SET MARK OF PAD  OF 
        Указать символ маркера для отдельных пунктов меню.

    TO 
    TO 
    Различные символы маркера могут указываться для каждого пункта ме-
ню. Символ  маркера  для  пункта  меню  указанный в  может быть
включен или выключен при помощи выражения .

    SET MARK OF POPUP  TO  | 
    SET MARK OF BAR OF TO  | 
    SET MARK OF POPUP  и SET MARK OF BAR  OF    команды позволяют помещать символ маркера перед каждой командой
командой во всплывающем меню или перед отдельными строками.  SET  MARK
OF POPUP  используется для назначения символа маркера,  ко-
торый в дальнейшем в каждой команде всплывающего меню; SET MARK OF BAR
  OF   помещает символ маркера в отдельные указанные
строки всплывающего меню.  Маркеры могут включаться и выключаться  при
помощи  логического выражения  одновременно у всех команд меню,
и по отдельности при помощи .
    Вы не можете использовать опции маркера во всплывающих меню,  соз-
данных с любыми опциями PROMPT (FIELD, FILES или STRUCTURE).

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є             Пример              є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Для примера  использования  SET MARK,  смотри описание примера для
CNTBAR().



ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є           SET MARK TO           є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Спецификация разделителя в датах
    Синтаксис
    SET MARK TO []
    Смотри также
    SET DATE
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Команда SET MARK TO задает символ,  который в дате является разде-
лителем полей месяца, года и дня. Разделитель  должен быть одним
символом,  заключенным в одинарные или двойные кавычки,  или в скобки,
или быть символьной переменной памяти.
    Используйте команду SET MARK TO без параметра  для переуста-
новки символа разделителя в его значение, принятое по умолчанию - сим-
вол наклонной черты (/).



ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є          SET MEMOWIDTH          є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Спецификация ширины поля примечания при его визуализации
    Синтаксис
    SET MEMOWIDTH TO 
    Смотри также
    ATCLINE(), ATLINE(), MEMLINES(), MLINE()
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Команда задает c помощью  ширину поля типа примечание (memo)
при его визуализации командами DISPLAY, LIST или ?/??. Оказывает влия-
ние на все поля примечаний и символьные  выражения  длиной  более  254
байт.Ширина поля примечания влияет на значения, которые выдают функции
ATLINE, ATCLINE, MEMLINE и MLINE.
       По умолчанию принято значение 50 для ширины поля при-
мечания. Можно указывать значение в диапазоне от 8 до 256.



ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є           SET MESSAGE           є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Задание строки сообщения и ее положения на экране или в окне
    Синтаксис
    SET MESSAGE TO []
    SET MESSAGE TO [ [LEFT | CENTER | RIGHT]]
    SET MESSAGE WINDOW []
    Смотри также
    SET STATUS
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    SET MESSAGE позволяет определить сообщение выводимое на экран  под
строкой состояния. Она также позволяет определить положение сообщения,
которое порождается командами @...PROMPT,  DEFINE  BAR,  DEFINE  MENU,
DEFINE PAD, DEFINE POPUP.

    Дополнительные опции
    SET MESSAGE TO []
    Команда SET  MESSAGE TO  дает возможность пользователю опре-
делять строку символов,  которая  должна  отображаться  как  некоторое
сообщение. Линейка  состояния  должна  быть выведена на экран командой
SET STATUS перед тем, как высвечивается сообщение. Если SET MESSAGE TO
порождается без аргументов, сообщение устанавливается в нулевую строку.
    Символьное выражение  может иметь длину до 79 символов.

    SET MESSAGE TO [ [LEFT | CENTER | RIGHT]]
    Формат команды  SET  MESSAGE TO  используется в том случает,
когда требуется указать строку окна или экрана на которой во время ра-
боты команд @ ... PROMPT, DEFINE BAR, DEFINE MENU, DEFINE PAD и DEFINE
POPUP может быть высвечена необязательная символьная строка.  Если вы-
ражение  установлено в 0,  то сообщения не отображаются. Команда
SET MESSAGE TO без аргументов делает номер строки сообщения становится
равным последнему номеру строки экрана или окна.
    Кроме этого, вы можете специфицировать горизонтальное положение на
экране  для  сообщения  с  помощью  необязательных ключевых слов LEFT,
RIGHT и CENTER.  Эти ключевые слова не оказывают влияния на  сообщения
от команд DEFINE BAR, DEFINE MENU, DEFINE PAD и DEFINE POPUP.

    SET MESSAGE  WINDOW  []
    Сообщение высвечивается в указанном окне.  Для  исключения  вывода
сообщения в  окно  и вывода его на экран необходимо подать команду SET
MESSAGE WINDOW.


ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є            SET MOUSE            є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Задание чувствительности устройства мышь
    Синтаксис
    SET MOUSE ON | OFF
    SET MOUSE TO []
    Смотри также
    _DBLCLICK
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Вы можете  разрешить  или  запретить использование мыши при помощи
команд SET MOUSE ON, SET MOUSE OFF.

    Дополнительные опции
    ON
    Разрешает мышь, так что Вы можете полностью ее использовать.

    OFF
    Запрещает ввод информации с мыши.

    TO 
    Команда SET MOUSE TO  дает возможность пользователю  опреде-
лять активность (чувствительность) устройства типа мышь.  Значение вы-
ражения  определяет отклик указателя мыши на ее  перемещение  по
экрану. Значение выражения  может располагаться в диапазоне от 1
до 10, при чем 1 соответствует наименьшей чувствительности, а 10 соот-
ветствует наибольшей чувствительности.
    По умолчанию принято значение 5 для этой команды.



ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є         SET MULTILOCKS          є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Включает/выключает блокировку группы записей.
    Синтаксис
    SET MULTILOCKS ON | OFF
    Замечания
    FoxPro/LAN
    Смотри также
    LOCK(), RLOCK()
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    FoxPro/LAN обеспечивает  возможность  заблокировать  в  файле базы
данных  одну  или  несколько  записей.  В  зависимости  от   установки
MULTILOCKS можно попытаться заблокировать либо одну запись, либо груп-
пу записей. Записи могут быть заблокированы при помощи функций LOCK(),
RLOCK() (LOCK() и RLOCK() взаимозаменяемы).
    ВАЖНО:
    Заметим, что  переключение  MULTILOCKS с ON на OFF или с OFF на ON
неявно осуществляет UNLOCK ALL -все блокированный записи во всех рабо-
чих областях освобождаются.
Для получения дополнительной информации смотри описание функций LOCK()
и RLOCK().

    Дополнительные опции
    ON
    Если установлено SET MULTILOCKS ON,  Вы можете попытаться заблоки-
ровать множество записей. Попытку заблокировать несколько записей мож-
но осуществить двумя способами:
включить в LOCK() или RLOCK()  набор  номеров  записей  или  выполнить
функцию несколько раз. Записи можно пытаться заблокировать в в текущей
рабочей области или в других областях, указав псевдоним, имя или номер
рабочей области.

    OFF
    Если MULTILOCKS установлено в OFF (значение по умолчанию),  только
одна  запись  может быть заблокирована в текущей рабочей области с по-
мощью функции LOCK() или RLOCK().  Записи можно пытаться заблокировать
в  в текущей рабочей области или в других областях,  указав псевдоним,
имя или номер рабочей области.

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є       Пример программы          є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
SET MULTILOCKS ON
SELECT A
USE customer
? LOCK("1,2,3,4,5", 1)
? RLOCK("1,2,3,4,5", "customer")
USE



ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є            SET NEAR             є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Спецификация положения указателя записей при неудачных поисках
    Синтаксис
    SET NEAR ON | OFF
    Смотри также
    RECNO()
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Команда SET  NEAR определяет положение указателя записей,  которое
он должен занять при после неудачного поиска записи.  Неудачный  поиск
записи имеет место,  когда не найдено ни одной записи, отвечающей кри-
терию поиска. Команда SET NEAR влияет на команды FIND и SEEK.

    Дополнительные опции
    ON
    Если установлено SET NEAR ON и поиск  не  завершился  успехом,  то
указатель записей (record pointer) настроен на запись,  которая распо-
ложена  непосредственно  за  ближайшей  подходящей  записью.   Функция
RECNO()  будет выдавать номер этой подходящей записи;  функция FOUND()
будет возвращать значение .F., EOF() будет возвращать значение .F.
    OFF
    Если установлено SET NEAR OFF и поиск не  завершился  успехом,  то
указатель  записей  (record pointer) настроен на конец файла.  Функция
RECORD() будет выдавать число записей в текущей базе данных плюс один.
FOUND() будет возвращать значение .F., EOF() будет возвращать значение
.T.
    Независимо от установок команды SET NEAR функция RECNO() с нулевым
аргументом будет выдавать номер самой ближайшей подходящей записи  при
неудачном поиске.
    По умолчанию установлено SET NEAR OFF.


ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є           SET NOTIFY            є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Разрешает/запрещает вывод на экран системных сообщений.
    Синтаксис
    SET NOTIFY ON | OFF
    Смотри также
    SET MESSAGE, WAIT
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    SET NOTIFY подавляет вывод на экран системных сообщений. Если SET
NOTIFY ON,  системные  сообщения высвечиваются на экране,  в противном
случае их вывод на экран дисплея подавляется.  Системные сообщения вы-
водятсяв окне, расположенном в правом верхнем углу экрана.
    Примером системного сообщения является  сообщение  "Expression  is
valid (Выражение допустимо)" диалога построителя выражений (Expression
Builder)и "Do Cancelled (Прекращено)",  появляющееся в случае прерыва-
ния работы программы. WAIT WINDOW (Окно ожидания) выводит свои сообще-
ния в окно системных сообщений.
    Когда используется FoxPro/LAN,  сетевая версия FoxPro,  SET NOTIFY
влияет на сообщением "Attempting to  lock..."  ,  которое  появляется,
когда REPROCESS установлено в AUTOMATIC или 0. Если NOTIFY установлено
в OFF, сообщение не выводится.
    Значение по умолчанию SET NOTIFY ON.



ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є          SET ODOMETER           є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Настройка интервала отчета
    Синтаксис
    SET ODOMETER TO []
    Смотри также
    SET TALK, _TALLY
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Команда SET ODOMETER используется для настройки отчетного интерва-
ла (reporting interval) для команд,  которые выдают информацию о своем
статусе.  Например,  команда COPY отображает на экране число  записей,
которые  копируются  в  новый файл во время выполнения команды.  Такой
счетчик записей может быть удален с экрана с помощью команды TALK OFF.
SET TALK WINDOW направляет вывод в системное окно вместо экрана.
    Значение  может находиться в диапазоне от 1 до 32767.
    Значение по умолчанию равно 0.



ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є          SET OPTIMIZE           є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Разрешение/запрещение оптимизации.
    Синтаксис
    SET OPTIMIZE ON | OFF
    Замечания
    Новая в FoxPro 2.0
    Смотри также
    INDEX, SET ORDER
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    FoxPro использует технологию Rushmore для оптимизации обращения  к
данным. Команды базы данных, которые поддерживают опцию FOR используют
оптимизацию Rushmore при выполнении.  Случаи, кода нужно запрещать оп-
тимизацию довольно редки. Когда порождается команда использующая опти-
мизацию, Rushmore определяет,  какие записи удовлетворяют условию FOR.
Затем выполняется  команда,  оперируя с набором записей,  определенным
Rushmore.
    Если команда  выгадывающая  от использования Rushmore модифицирует
ключи индексных запросов, набор записей Rushmore может оказаться уста-
ревшим. Вы можете запретить Rushmore,  чтобы быть уверенным в актуаль-
ности информации, получаемой из базы данных.
    Rushmore может  быть разрешено/запрещено глобально для всех команд
которые ускоряются при использовании Rushmore с помощью SET  OPTIMIZE.
Команда SET OPTIMIZE OFF запрещает Rushmore, SET OPTIMIZE ON разрешает
Rushmore.  Каждая команда использующая Rushmore имеет опцию NOOPTIMIZE
которая может запрещать Rushmore для множества команд.
    Ниже приведена таблиц,  содержащая команды, которые при выполнении
используют Rushmore,  когда в них включена опция FOR. SET OPTIMIZE эф-
фективна для любой из этих команд.  Каждая команда,также  поддерживает
опцию NOOPTIMIZE для запрещения Rushmore для этой команды.

    Команды ускоряющиеся при использовании Rushmore.
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

AVERAGE            DISPLAY          REPLACE
BROWSE             EDIT             REPORT
CALCULATE          EXPORT           SCAN
CHANGE             JOIN             SORT
COPY TO            LABEL            SUM
COPY TO ARRAY      LIST             TOTAL
COUNT              LOCATE
DELETE             RECALL
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Для дополнительной информации Rushmore,  смотрите главу "Оптимиза-
ция Ваших приложений" в документе FoxPro  "Руководство  разработчика"(
Developer's Guide).



ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є            SET ORDER            є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Спецификация главного управляющего индекса
    Синтаксис
    SET ORDER TO
      [ | <.idx index file> | [TAG]  [OF <.cdx file>]
      [IN  | ]
      [ASCENDING | DESCENDING]]
    Замечания
    Расширена в  FoxPro 2.0:  TAG,  IN ,
    опции ASCENDING и DESCENDING
    Смотри также
    INDEX
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    База данных может иметь несколько открытых индексных файлов однов-
ременно. Однако,  только  один индексный файл (главный индексный файл)
или тег из составного .CDX индексного файла (главный  тег)  определяет
порядок доступа и просмотра записей. Некоторые команды (например SEEK)
используют главный индексный файл или главный тег для  поиска  записи.
Данная команда позволяет определить главный индексный файл или главный
тег. Главный индекс также может определять последовательность  записей
в процессе их обработки.
    Индексные файлы могут быть открыты вместе с базой данных,  включе-
нием опции INDEX в команду USE. Если база данных имеет связанный с ней
структурный индексный файл,  то он открывается автоматически вместе  с
базой данных.  после открытия базы данных,  Вы можете открывать/закры-
вать индексные файлы для базы данных, используя команду SET INDEX.

    Дополнительные опции
    
    Используется для определения главного индексного файла или главно-
го  тега.  Выражение    ссылается на порядок нумерации индексных
файлов,  которые были перечислены в параметрах команд SET INDEX и USE.
Затем  теги в структурных индексных файлах (если они существуют) нуме-
руются в порядке их создания. И последними нумеруются теги независимых
составных  индексных файлах в порядке их создания.
    Пример поможет иллюстрацией,  как нумеруются  различные  индексные
файлы и теги. Имена файлов приведены для иллюстрации, и не обязательно
будут существовать.  База данных VIDEO.DBF  открывается  с  тремя  ин-
дексными файлами TITLE.IDX, COSTS.CDX, RATING.IDX в первой рабочей об-
ласти при помощи команды:

    USE video INDEX title.idx,costs.cdx,rating.idx IN 1

    VIDEO.DBF имеет сложный структурный .CDX индексный фал с двумя те-
гами NUMBERSOLD  и YEARSOLD.  Структурный файл (VIDEO.CDX) открывается
автоматически, когда открывается база данных. DISPLAY STATUS возвратит
следующую информацию о базе данных и ее индексах:

    Currently Selected Database
    Select area:  1, Database in Use: C:\FOXPRO2\VIDEO.DBF
    Master index file:     C:\FOXPRO2\TITLE.IDX     Key: TITLE
           Index file:     C:\FOXPRO2\RATING.IDX    Key: RATING
    Structual CDX file:    C:\FOXPRO2\VIDEO.CDX
           Index tag:      NUMBERSOLD
           Index tag:      YEARSOLD
           CDX file:       C:\FOXPRO2\COSTS.CDX
           Index tag:      RENALCOST
           Index tag:      BUYCOST

    Так как .IDX файлы нумеруются первыми,  необходимо подать  команду
SET ORDER TO 1,  чтобы сделать файл TITLE.IDX главным индексным файлом
и SET ORDER TO 2, чтобы сделать файл RATING.IDX главным индексным фай-
лом:
    SET ORDER TO 1
    Главный индекс:   C:\FOXPRO2\TITLE.IDX
    SET ORDER TO 2
    Главный индекс:   C:\FOXPRO2\RATING.IDX
    Далее нумеруются теги структурного составного индексного файла:
    SET ORDER TO 3
    Главный индекс:   C:\FOXPRO2\VIDEO.CDX   Tag: NUMBERSOLD
    SET ORDER TO 4
    Главный индекс:   C:\FOXPRO2\VIDEO.CDX   Tag: YEARSOLD
    Последними нумеруются теги в составном индексном файле COSTS.CDX:
    SET ORDER TO 5
    Главный индекс:   C:\FOXPRO2\COSTS.CDX   Tag: RENTALCOST
    SET ORDER TO 6
    Главный индекс:   C:\FOXPRO2\COSTS.CDX   Tag: BUYCOST

    Если   больше  чем  номер  .IDX индексного файла и тега .CDX
составного индексног файла,  высветится сообщение об ошибке "Index tag
not found" ( Индексный файл не найден).  Если  = 0,  база данных
доступна в физическом порядке записей, но индексные файлы при этом от-
крыты для  обновления.  Включение  ORDER  без  аргументов эквивалентно
ORDER 0.

    <.idx index file>
    Вы можете  переназначить .IDX индексный файл как главный индексный
файл включив его имя в <.idx index file>.

    [TAG]  [OF <.cdx file>]
    Для назначения  тега .CDX индексного файла в качестве главного те-
га, включите .   может быть  из  структурного  ин-
дексного файла или любого открытого .CDX составного индексного файла.
    Если существуют одинаковые имена тегов в открытых  .CDX  составных
индексных файлах включите опцию OF <.cdx file>.

    ВНИМАНИЕ:
    Если совпадает имя .IDX файла и имя  тега,  .IDX  файл  пользуется
преимуществом..

    IN  | 
    SET ORDER назначает главный индексный файл или тег для  базы  дан-
ных,  открытой в текущей рабочей области. можно определять главный ин-
дексный файл или тег для базы данных,  открытой в произвольной рабочей
области,  для чего надо указать псевдоним  или номер рабочей об-
ласти .

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


ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є            SET PATH             є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Спецификация пути каталога при поиске файлов
    Синтаксис
    SET PATH TO []
    Смотри также
    LOCFILE()
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    С помощью команды SET PATH TO вы можете специфицировать список ка-
талогов, в которых система FoxPro будет осуществлять поиск файлов, ко-
торые не найдены в текущем рабочем каталоге.
    Имена каталогов  в  списке   должны отделяться друг от друга
либо символом запятой (,), либо символом точкой с запятой (;).

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є            SET PDRIVER          є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Спецификация драйвера принтера
    Синтаксис
    SET PDRIVER TO []
    Смотри также
    _PDRIVER, SET PDSETUP, SET PRINTER
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Этой командой Вы можете специфицировать драйвер принтера,  включив
имя драйвера принтера в команду SET PDRIVER.  Например, если имя прог-
раммы драйвера для принтера DRIVER.PRG, используйте команду:

    SET PDRIVER TO DRIVER

    Имя программы для драйвера принтера может включать полный путь для
поиска, если программа не принадлежит пути FoxPro для поиска файлов.
    Когда Вы  подадите  эту  команду,  имя программы будет сохранено в
системной переменной в системной переменной _PDRIVER.
    SET PDRIVER  выгружает текущий драйвер принтера,  если таковой был
загружен.  Когда  Вы  подаете  такую  команду,  выполняется  процедура
PDONUNLOAD (если такая имеется) текущего загруженного драйвера принте-
ра.  Затем загружается новый драйвер принтера и выполняется  процедура
PDONLOAD (если такая имеется).
    Для выгрузки программы драйвера принтера необходимо подать команду
SET PDRIVER TO без аргументов.


ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є           SET PDSETUP           є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Загрузка или очистка установки драйвера принтера.
    Синтаксис
    SET PDSETUP TO [[ [,  [,  ... ]]]
      [WITH  [, ... ]]]
    Смотри также
    _GENPD, _PDRIVER, _PDSETUP, SET PRINTER
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    SET PDSETUP загружает установку драйвера принтера или зачищает те-
кущую установку  драйвера принтера.  Установка драйвера принтера - это
комбинация установочных параметров,  которые включют в себя  программу
драйвера и информацию о печати,  такую как ориентация страницы,  шрифт
используемый по умолчанию, размер и тип шрифта, границы и так далее.
    Установки драйвера принтера хранятся в файле ресурсов FoxPro
FOXUSER.DBF, и могут быть созданы интерактивно с использованием диало-
га Редактирования установки принтера (Printer Setup Editing).
    Установка драйвер принтера может быть  загружена  или  зачищена  с
использованием системной переменной памяти _PDSETUP.
    Когда подается команда SET PDSETUP,  выполняется прикладной интер-
фейс текущего драйвера принтера,  который передает имя установки драй-
вера принтера, включенное в SET PDSETUP. Прикладной интерфейс установ-
ки принтера указывается системной переменной памяти _GENPD (по умолча-
нию GENPD.APP,  прикладной интерфейс установки принтера,  включенный в
FoxPro).

    Дополнительные опции
    
    Вы можете  загрузить установку драйвера принтера,  указав ее имя в
.
    Когда Вы загрузите установку драйвера принтера,  ее имя будет сох-
ранено в системной переменной памяти _PDSETUP и может быть создан спе-
циальный массив переменных памяти _PDPARMS.
    Если имя установки драйвера принтера,  которое Вы указали в 
не  существует  в файле ресурсов,  то выполняется прикладная установка
текущего драйвера принтера так,  как будто Вы указали ее имя. Если имя
прикладной установки драйвера принтера GENPD.APP (прикладной интерфейс
установки принтера,  включенный в FoxPro) появится диалог Редактирова-
ния установки принтера (Printer Setup Editing), при помощи которого Вы
сможете создать установку.
    Если имя  начинается с тире (-),  программа _GENPD не будет испол-
няться, но имя следующее за тире сохраниться в _PDSETUP.
    Если Вы дадите команду SET PDSETUP TO без , текущая установ-
ка принтера драйвера будет зачищена, нулевая строка запишется в
_PDSETUP, и массив _PDPARMS будет удален из памяти.
    Установка принтера по умолчанию будет загружена при старте  FoxPro
если указать следующую строку в CONFIG.FP:

        PDSETUP = '' WITH 

     имя установки, загружаемой при старте FoxPro ( обяза-
тельно должно быть заключено в кавычки).  Указанная в CONFIG.FP  уста-
новка имеет преимущества над установкой принятой по умолчанию в диало-
ге Установки драйвера принтера (Printer Driver Setup).

     [,  ... ]
    Вы также можете включить необязательные параметры , 
...  вместе с именем установки драйвера  принтера.  Они  передаются  в
прикладной  интерфейс  установки драйвера принтера и могут иметь любой
тип. Первая строка в прикладном интерфейсе установки драйвера принтера
должна быть командой PARAMETERS, принимающей параметры передаваемые из
SET PDSETUP.
    Если Вы  используете  GENPD.APP,  прикладной  интерфейс  установки
драйвера принтера,  принятый по умолчанию,  не включайте в команду жти
необязательные параметры.  GENPD.APP не принимает параметры передавае-
мые из SET PDSETUP и генерирует ошибку.

    WITH , [ ... ]
    Необязательная опция WITH может включаться в SET PDSETUP
для создания специального массива _PDPARMS. Каждый параметр , 
становится элементом _PDPARMS.  Первый параметр  записывается в
первый элемент _PDPARMS,  параметр  во второй элемент и так да-
лее. Эти параметры могут иметь любой тип.
    Если Вы  используете  GENPD.APP,  прикладной  интерфейс  установки
драйвера принтера,  принятый  по умолчанию,  включенные Вами параметры
заменят существующие.


ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є            SET POINT            є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Изменение символа десятичной точки на другой символ
    Синтаксис
    SET POINT TO []
    Смотри также
    SET DECIMAL, SET FIXED
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Команда SET POINT TO позволяет вам определить вместо символа деся-
тичной точки некоторый другой символ.  Символьное выражение  мо-
жет быть строкой  символов,  ограниченной  либо  одинарными  кавычками
(`'),  либо  двойными кавычками (""),  либо квадратными скобками ([]),
либо может быть переменной памяти. Для того, чтобы переустановить сим-
вол  десятичной точки в значение,  принятое по умолчанию,  надо издать
команду SET POINT TO без выражения .
        По умолчанию установлено, что символ десятичной точ-
ки это символ точка (.).  Хотя Вы можете заменить символ  десятичной
точки для вывода на экран на другой символ,  использовать при вычисле-
ниях необходимо символ принятый по умолчанию.

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є            Примеры              є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
x = 1.25
newpoint ="_"
SET POINT TO newpoint
? x
  1_25
SET POINT TO   && сброс в значение по умолчанию
?x
  1.25



ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є           SET PRINTER           є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Разрешение или запрет вывода данных на принтер  и  указание  порта
вывода
    Синтаксис
    SET PRINTER ON | OFF
    SET PRINTER TO
        [ [ADDITIVE] | ]

    FoxPro/LAN:

    SET PRINTER TO
        [\\ \ = ]
    SET PRINTER TO
        [\\SPOOLER [\NB]
          [\F = ] [\B = ][\C = ] [\P = ]]
          [\S = ] [\Q = ]
    Смотри также
    PRINTSTATUS()
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Эта команда позволяет Вам направлять/запрещать вывод в файл,  порт
или на сетевой принтер.
    Изучите руководство  по сети для получения дополнительной информа-
ции о работе сетевого принтера.

    Команды и дополнительные опции

    SET PRINTER ON
    Использование команды  SET  PRINTER  ON  разрешает вывод данных на
принтер Выводные  данные,  которые  форматируются  с  помощью  команды
@...SAY,  не  направляются  на принтер,  когда выполняется команда SET
PRINTER  ON.  Для  того,  чтобы  направить  результаты  работы  команд
@...SAY, используейте команду SET DEVICE TO PRINTER.

    SET PRINTER OFF
    Команда SET PRINTER OFF запрещает такой вывод.  По умолчанию уста-
новлено SET PRINTER OFF.

    SET PRINTER TO [ [ADDITIVE] | ]
    Команда SET PRINTER TO обеспечивает возможность назначать для  вы-
вода  дисковый файл или порт.  Можно включать имя <файл> в тех местах,
где вы хотите определить адресат вывода.  Включая ключ ADDITIVE, можно
писать в конец существующего файла . Если ключевое слов ADDITIVE
опущено, существующий файл будет перезаписан.
    Вы также можете указать порт для выхода,  предназначенный для раз-
личных локальных принтеров.  Вы можете указать один из трех параллель-
ных портов  (LPT1,  LPT2  или  LPT3) или один из двух последовательных
портов (COM1 или COM2).  Используйте SET PRINTER TO без аргументов для
сброса присвоенного значения выхода в значение ДОС, принятое по умолча-
нию (утилита печати PRN).

FoxPro/LAN Дополнительные опции и команды

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

    \\\ = 
    Первый формат сетевой команды SET PRINTER направляет очередь выво-
да печати на сетевой принтер.   сетевое имя  назначаемое
Вашей  рабочей станции.  Имя назначается администратором сети и должно
быть уникальным.   имя назначаемое администратором  сети
принтеру. LPT1, LPT2 или LPT3 используется для указания отличий 
инсталлированного принтера.

    SET PRINTER TO
    Второй формат  сетевой команды SET PRINTER специально предназначен
для печати при помощи Novell Advanced Netware (R) версия 2.00 или выше.
    Значение по  умолчанию  SET  PRINTER  TO  - утилита DOS для печати
(PRN).

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

    \NB
    Подавляет печать на заглавной странице. (No Banner).

    \F = 
    Указывает номер  формы  (от 0 до 255) в соответствии с кото-
рой будет распечатываться информация. Эта опция используется для прин-
теров, на которых выводятся различные типы букв, накладок, меток.

    \B = 
    Заглавное имя.  Указывает заголовок, который будет распечатываться
на заглавной странице. Заголовок  может содержать до 12 симво-
лов. По умолчанию - это имя пользователя.

    \C = 
     Указывает количество  копий  (от 1 до 255) направляемых в очередь
сетевого принтера. По умолчанию 1 копия.

    \P = 
    Указывает сетевой принтер, на который направляется вывод.
        Specifies network printer where output will  be  sent.  
номер назначаемый сетевому принтеру. По умолчанию - 0.

    \S = 
    Указывает сетевой сервер печати сцепленный с выводом, куда посыла-
ется информация. Имя  не должно быть символьным выражением, то
есть не должно быть окружено кавычками.

    \Q = 
    Указывает очеред  назначаемую принтеру на который направлен вывод.
Имя  не должно быть символьным выражением,  то есть  не  должно
быть окружено кавычками.


ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є          SET PROCEDURE          є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Открыть процедурный файл
    Синтаксис
    SET PROCEDURE TO []
    Смотри также
    PROCEDURE
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Команда SET PROCEDURE TO используется для открытия файла, специфи-
цированного с помощью необязательного параметра .  По умолчанию,
принято расширение .PRG имени файла, если оно не специфицировано в ко-
манде. В каждый момент времени может быть открыт только один процедур-
ный файл.  Команда SET  PROCEDURE  TO  без  необязательного  параметра
  закрывает текущий процедурный файл.  Когда подается команда DO
 или описывается UDF, SET PROCEDURE  will be ищет файл,
если он не найден в программе, которая исполняется в настоящий момент.
    За более подробной информацией о процедурных файлах отсылаем вас к
описанию команды PROCEDURE в данном руководстве.



ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є           SET REFRESH           є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Синтаксис
    SET REFRESH TO 
    Замечания
    FoxPro/LAN
    Смотри также
    BROWSE
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    FoxPro/LAN обеспечивает многопользовательский режим  использования
баз  данных  в  сети.  Одновременно несколько пользователей сети могут
использовать одну и ту же базу данных или ее запись. Возможно, что за-
пись,  просматриваемая одним пользователем,  в это же время редактиру-
ется другим пользователем.  С помощью команды SET REFRESH  можно  ука-
зать,  будет ли изменяться экран, если другой пользователь изменит ин-
формацию, кроме того задать частоту обновления экрана.
    SET REFRESH касается только записи, высвечиваемой для редактирова-
ния при помощи команды BROWSE и  полей  примечаний  открытых  командой
MODIFY MEMO. Также касается при выводе на экран записей при помощи ко-
манд CHANGE и EDIT (безформатных). SET REFRESH не эффективна с другими
командами.

    Дополнительные опции
    
    SET REFRESH поддерживает числовой аргумент  между 0 и 3,600.
Если REFRESH установлено в 0,  то изменения записи,  сделанные  другим
пользователем будут выводится на экран только после перемещения указа-
теля записи на измененную запись или ее блокировке.  Если запись изме-
нена другим пользователем, то после сброса ее блокировки, то будет вы-
дано сообщение о ее изменениях и она обновится.
    Если значение  лежит  в  диапазоне от 1 до 3,600 экран будет изме-
нятся через каждые  секунд.  Если REFRESH установлено в 1  экран
обновляется каждую секунду , если REFRESH установлено в 3,600 обновле-
ние осуществляется один раз в час.
    Независимо от установки REFRESH,  если запись заблокирована другим
пользователем сети Вы получите обновленную  запись,  после  сброса  ее
блокировки.  Кроме того Вы получите сообщение "Record has change" (За-
пись изменена).
    По умолчанию SET REFRESH установлено в 0.

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є          SET RELATION           є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Спецификация отношения между двумя и более базами данных
    Синтаксис
    SET RELATION TO
      [ INTO  | 
      [,  INTO  |  ... ]
      [ADDITIVE]]
    Смотри также
    INDEX, RELATION(), SET ORDER, SET RELATION OFF, SET SKIP, TARGET()
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    С помощью команды SET RELATION TO вы можете связать  два  открытых
файла  баз  данных.  Перед  установкой связи,  одна база данных (роди-
тельская база данных) должна быть открыта в текущей рабочей области  и
другая база данных (дочерняя база данных) должна быть открыта в другой
рабочей области. После этого Вы можете подать команду SET RELATION для
установления связи.
    В каждый момент времени, когда указатель записи в родительской ба-
зе  данных перемещается,  также перемещается на соответствующую запись
указатель записей в связанном дочернем файле.  Если подходящая  запись
не  найдена в связанной дочерней базе данных,  то указатель записи для
этой базы данных перемещается в самый конец файла.
    Связываемые базы данных обычно имеют общие поля. Например, предпо-
ложим,  что база данных (CUSTOMER.DBF) содержит информацию о покупате-
лях.  Она содержит поля для имени, адреса и уникального номера покупа-
теля. Вторая база данных (BILLING.DBF) содержит информацию о поставщи-
ках.  Она также содержит поле для номера покупателя,  и поля различных
платежных характеристик.
    Вы можете  использовать  SET RELATION для связи двух баз данных по
их общему полю - полю номера покупателя. Для установки связи, дочерняя
база данных  должна быть проиндексирована по общему полю.  После уста-
новки связи, при перемещении указателя записи на запись с данным номе-
ром покупателя в родительской базе данных (CUSTOMER), указатель записи
в дочерней базе данных (BILLING) переместится на запись с тем же номе-
ром покупателя.

    Дополнительные опции
    
    Основное выражение  связи    обеспечивает связь между двумя
базами данных (родительской и дочерней).  выражение связи обычно явля-
ется индексным выражением для главного управляющего индексного выраже-
ния дочерней базы данных, хотя может быть и числовым выражением.
    Дочерняя база данных обычно индексируется по символьным,  числовым
полям или полям дат.  Индекс для дочерней базы данных может быть  еди-
ничным элементом - .IDX индекс,  или множественным структурным или не-
зависимым составным .CDX индексом.  Если  индекс  является  составным,
указывается подходящий индексный тег или порядок дочерней базы данных.
    SET ORDER команда может использоваться для указания индексного те-
га, который упорядочивает дочернюю базу данных.
    Например, рассмотрим базы данных CUSTOMER и INVOICE, описанные вы-
ше. Предположим,  что  дочерняя база данных (INVOICE) будет индексиро-
ваться и упорядочиваться по номеру покупателя при помощи команды:

    SET ORDER TO TAG cust_id

    Для связи  баз  данных  CUSTOMER  и  INVOICE  по номеру покупателя
используется команда SET RELATION, которая указывает индексное выраже-
ние в качестве связующего выражения :

    SET RELATION TO cust_id INTO invoice

    Дочерняя база данных должна быть не индексирована,  пока выражение
для связи  будет числовым. Если Вы подаете команду SET RELATION
с нечисловым выражением связи и дочерняя база данных не  является  ин-
дексированной,  высвечивается сообщение "Database is not ordered"(База
данных не упорядочена).
    Если  является числовым,   действует при перемещении
указателя записи в родительской базе данных. Указатель записи в дочер-
ней базе при этом перемещается на запись с номером .
    Для устранения всех связей во всех  рабочих  областях,  необходимо
подать команду SET RELATION TO.

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

     INTO  |  ...
    Вы можете  создать  множественные  связи в текущей рабочей области
при помощи единичной команды SET RELATION,  для  этого  включите  туда
список связей ( INTO  | ,   INTO  |
, ... ) разделенных запятыми.

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

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є         Пример программы        є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Следующий пример использует базы данных CUSTOMER и INVOICE.
База данных CUSTOMER (родительская) открывается в первой  рабочей  об-
ласти. База  данных  INVOICE  (дочерняя) открывается во второй рабочей
области. Дочерняя база затем индексируется по полю,  общему  для  двух
баз данных, полю CUSTNUMBER. Тем самым создается индексный тег структ-
крного индекса для INVOICE.  Команда SET ORDER используется для указа-
ния порядка базы данных INVOICE.
    Затем снова выбирается первая рабочая область, и между двумя база-
ми данных  организуется  отношение  связи.  Команда SET открывает окно
просмотра, в котором высвечиваются отношения связи. Из окна просмотра,
вы можете выйти в режим Browse для любой базы данных.

CLOSE ALL
USE customer IN 1                       && Родительская база данных
USE invoice  IN 2                       && Дочерняя база данных
SELECT invoice
SET ORDER TO TAG cust_id                && Указания порядка базы
SELECT customer                         && Переключение рабочих областей
SET RELATION TO cust_id INTO invoice    && Создание отношения связи
SET                                     && Просмотр отношений связи



ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є        SET RELATION OFF         є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Разрушает отношения связи между двумя базами данных
    Синтаксис
    SET RELATION OFF INTO  | 
    Смотри также
    RELATION(), SET RELATION
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Команда SET отменяет установленное отношение между двумя открытыми
базами данных.  Управляющая родительская база данных должна быть теку-
щей,  а связанная с ней дочерняя база данных задается рабочей областью
или псевдонимом.


ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є          SET REPROCESS          є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Определяет действие после безуспешной блокировки записи или файла
    Синтаксис
    SET REPROCESS TO  [SECONDS] | TO AUTOMATIC
    Замечания
    FoxPro/LAN
    Смотри также
    FLOCK()
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Блокировка записи или файла не всегда успешно  оканчивается  после
первой попытки.  Очень часто возникают ситуации, когда запись или файл
уже заблокированы другим пользователем сети.  SET REPROCESS  позволяет
управлять ситуацией  после  неудачной попытки заблокировать запись или
файл, при этом можно задать наличие дополнительных попыток  блокирова-
ки. Можно задать количество дополнительных блокировок, или время в те-
чении которого они будут выполняться.  Наличие подпрограммы  обработки
ошибочных ситуаций ON ERROR влияет на действие после неудачной попытки
блокировки.
    Значение SET  REPROCESS, , является целым числом в диапазоне
между -2  и  32000.Вы  можете  установить  значение  SET  REPROCESS  в
AUTOMATIC. Дальше  описывается действия команды в зависимости от уста-
новленных значений.
The
following  describes  the  effect  of  different  values of  and
AUTOMATIC on SET REPROCESS.

    Дополнительные опции
    TO 
    Указывает сколько  раз FoxPro/LAN будет пытаться заблокировать за-
пись после неудачной попытки.Значение по умолчанию для  равно 0.
    Следующие примеры  описывают действие различных числовых значений,
присваиваемых .

    SET REPROCESS TO 0
    Если установлено  SET REPROCESS TO 0 (значение по умолчанию) и вы-
полняется команда или функция,  пытающаяся  заблокировать  запись  или
файл  FoxPro/LAN  будет пытаться выполнить блокировку записи или файла
до бесконечности.  Во время выполнения попыток блокировки  записи  или
файла  будет  гореть системное сообщение "Attempting to lock...  Press
ESC to Cancel" (Попытка заблокировать ... Для прерывания процесса наж-
мите  ESC).  После  удачной  попытки  заблокировать  запись  или файл,
системное сообщение исчезнет с экрана. Если для блокировки использова-
лась функция, то ее значение будет равно .T.(истина).
    Если Вы  нажали Escape в ответ на системное сообщение,  высветится
соответствующее  предупреждение  (например,  "Record  is  in  use   by
another." (Запись используется другим)).  При попытке выполнить блоки-
ровку при помощи функции,  предупреждающее сообщение выводиться не бу-
дет,  а значение функции будет установлено в .F.(ложь). Если использу-
ется программа обработки ON ERROR,  то во время работы команды, пытаю-
щейся  заблокировать запись или файл,  подпрограмма обработки ON ERROR
имеет преимущество над дополнительными попытками блокировки. Процедура
ON ERROR начнет немедленно выполняться - не будут производиться допол-
нительные попытки выполнить блокировку, и системное сообщение не будет
выводиться на экран.
    При попытки выполнить блокировку записи при помощи функции систем-
ное сообщение  выводиться не будет,  ON ERROR процедура выполняться не
будет, и будет немедленно возвращено логическое значение .F.(ложь).

    SET REPROCESS TO -1
    Если установлено  SET  REPROCESS TO -1,  FoxPro/LAN будет пытаться
выполнить блокировку записи или файла до бесконечности,  при  этом  их
нельзя прервать при помощи ключа Escape и процедура обработки ситуации
ON ERROR выполняться не будет.
    Только системное  сообщение "Waiting for lock..."(Ждите блокировки
...) будет выведено на экран, если STATUS установлено в ON.
    Необходимо помнить  о  том,  что  попытка заблокировать запись или
файл, которые уже заблокированы другим пользователем,  может быть  вы-
полнена успешно  только  после  того,  как другой пользователь сбросит
блокировку. Это может потребовать очень длительного ожидания.

    SET REPROCESS TO  > 0
    Если SET  REPROCESS  установлено  в значение  больше 0,  это
указывает количество попыток на протяжении  которых  FoxPro/LAN  будет
пытаться заблокировать запись или файл.
    Например, если SET REPROCESS TO 30,  FoxPro/LAN предпримет попытку
заблокировать запись или файл в течении 30 раз. Если использовать нео-
бязательное  ключевое  слово  SECONDS  (SET  REPROCESS TO 30 SECONDS),
FoxPro/LAN будет предпринимать попытки заблокировать запись или файл в
течении 30 секунд.
    Системное сообщение "Waiting for  lock..."(Ждите  блокировки  ...)
будет появляться на экране только в случае,  если STATUS установлено в
ON.
    Если отсутствует программа обработки ON ERROR и невозможно  забло-
кировать запись или файл, будет выдано соответствующее предупреждение,
например "Record is in use  by  another."(Запись  используется  другим
пользователем).  При  попытке выполнить блокировку при помощи функции,
предупреждение высвечиваться не будет,  а функция  возвратит  значение
.F. (ложь).
    Если процедура ON ERROR имеет место, а попытка выполнить блокиров-
ку завершилась неудачно, будет выполнена процедура обработки ON ERROR.
При попытке выполнить блокировку при помощи функции,  процедура  обра-
ботки ON ERROR выполняться не будет,  а функция возвратит значение .F.
(ложь).

    TO  [SECONDS]
    Указывает как  долго  (в  секундах) FoxPro/LAN будет пытаться осу-
ществить попытку блокировки записи или файла.

    TO AUTOMATIC
    Если установлено  SET  REPROCESS  TO  AUTOMATIC  (  идентично  SET
REPROCESS  TO -2),  FoxPro/LAN будет пытаться выполнить блокировку за-
писи или файла до бесконечности. Во время выполнения попыток блокиров-
ки  записи  или  файла будет гореть системное сообщение "Attempting to
lock... Press ESC to Cancel" (Попытка заблокировать ... Для прерывания
процесса нажмите ESC).  После удачной попытки заблокировать запись или
файл,  системное сообщение исчезнет  с  экрана.  Если  для  блокировки
использовалась функция, то ее значение будет равно .T.(истина).
    Если процедура обработки ON ERROR не  задействована  и  Вы  нажали
Escape в ответ на системное сообщение, высветится соответствующее пре-
дупреждение (например,  "Record is in use by another." (Запись исполь-
зуется другим)).  При попытке выполнить блокировку при помощи функции,
предупреждающее сообщение выводиться не будет,  а значение функции бу-
дет установлено в .F.(ложь).
    Если используется программа обработки ON ERROR, и была нажата кла-
виша Escape то выполняется процедура обработки ситуации ON ERROR.  При
попытке выполнить блокировку при помощи функции,  процедура  обработки
ON  ERROR  выполняться  не  будет,  а  функция  возвратит значение .F.
(ложь).


ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є          SET RESOURCE           є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Указывает или обновляет файл ресурсов
    Синтаксис
    SET RESOURCE ON | OFF
    SET RESOURCE TO []
    Смотри также
    SYS(2005)
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    С помощью  этих  двух  команд вы можете либо обновить текущий файл
ресурсов, либо специфицировать новый файл ресурсов.
    В системе  FoxPro  файл ресурсов представляет собой файл базы дан-
ных, который содержит информацию о всей системе и о всех ее элементах,
заданных пользователем (множества цветов, макросы, положение и размеры
системных окон, записи в дневнике и т.д).
    За более  подробной  информацией  о файлах ресурсов отсылаем Вас к
главе Пользовтелям FoxPro документа "FoxPro Developer's Guide"  (Руко-
водство разработчика FoxPro).

    Дополнительные опции
    ON
    Информация о любых изменениях,  произошедших в среде FoxPro, будет
сохранена в файле ресурсов,  если командой SET RESOURCE установлено ON
(значение по умолчанию).
    OFF
    Если установлено  SET  RESOURCE OFF,  то информация об изменениях,
произошедших в среде FoxPro, сохранена в файле ресурсов не будет.
    TO []
    Команда SET RESOURCE TO позволяет вам определить свой, отличный от
системного,  файл ресурсов. Это средство позволяет сохранить параметры
среды FoxPro в файле ресурсов, который отличается от ресурсного файла,
принятого по умолчанию.
    Сохраненные параметры среды FoxPro могут в дальнейшем быть восста-
новлены, путем задания этого файла в качестве нового файла ресурсов.
    По умолчанию установлено SET RESOURCE ON и файлом  ресурсов  явля-
ется файл FOXUSER.DBF.

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є            SET SAFETY           є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Разрешение или запрещение средств защиты файлов
    Синтаксис
    SET SAFETY ON | OFF
    Смотри также
    SET TALK
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    С помощью команды  SAFETY  вы  можете  специфицировать  активность
средств защиты файлов от записи (включить их или выключить).

    Дополнительные опции
    ON
    Если установлено  SET  SAFETY  ON,  то у вас всегда будет запраши-
ваться подтверждение при выполнении любой команды, которая может изме-
нить данные некоторого файла.

    OFF
    Если установлено SET SAFETY OFF,  то у вас не будет  запрашиваться
подтверждение возможности занесения данных в файл.
    По умолчанию установлено SAFETY ON.


ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є         SET SCOREBOARD          є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Определяет место  вывода  на  экран  дисплея  состояния клавиш Num
Lock, Caps Lock и Insert.
    Синтаксис
    SET SCOREBOARD ON | OFF
    Замечания
    Включается для обратной совместимости
    Смотри также
    SET BRSTATUS
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Эта команда  вместе  с командой SET STATUS определяет место вывода
на экран дисплея состояния клавиш блокировки числовой панели Num Lock,
фиксации регистра Caps Lock и клавиши включения режима вставки Insert.
    Информация, соответствующая SET  SCOREBOARD  выводится  в  нулевой
строке,  если SCOREBOARD установлена в ON и линейка STATUS установлена
в OFF.  Если STATUS установлена в ON,  то информация SCOREBOARD всегда
выводится в линейке STATUS.  Если оба режима SCOREBOARD и STATUS уста-
новлены в OFF, то информация SCOREBOARD на экран не выводится.
По умолчанию  SET  SCOREBOARD  установлена  в OFF.  Выдача команды SET
SCOREBOARD OFF очищает экран.


ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є          SET SEPARATOR          є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Спецификация разделителя числовых полей
    Синтаксис
    SET SEPARATOR TO []
    Смотри также
    SET DECIMALS
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Команда SET  SEPARATOR  позволяет  вам  изменить  "numeric   place
separator"  (разделитель  числовых  полей) на другой символ в необяза-
тельном предложении PICTURE.  Выражение  должно быть  символьной
строкой,  ограниченной одинарными или двойными кавычками, скобками или
должно быть символьной переменной памяти.
    Команда SET  SEPARATOR без выражения  восстанавливает значе-
ние разделителя,  принятое по умолчанию (разделителем является  символ
запятая "," ).

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є         Пример программы        є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
SET SEPARATOR TO '#'
x = 1000
@ 2,2 GET x PICTURE '9,999.99'
READ
SET SEPARATOR TO                 && Сброс в значение по умолчанию



ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є           SET SHADOWS           є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Задание или отмена теней у окон
    Синтаксис
    SET SHADOWS ON | OFF
    Смотри также
    DEFINE WINDOW
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Команда SHADOWS определяет отображение теней у всех окон, появляю-
щихся на экране.  Это относится к системным окнам, к окнам, определен-
ным пользователем,  к выпадающим меню,  к окнам диалога и к окнам пре-
дупреждений.  Любые тексты или объекты,  попадающие в тень окон, оста-
ются видимы.
    Команда SHADOWS ON задает визуализацию теней,  команда SHADOWS OFF
отменяет показ оконнных теней.  Команда SHADOWS не влияет на окна, оп-
ределенные пользователем (окна,  созданные с  помощью  команды  DEFINE
WINDOW),  если  только  они  не определялись с помощью необязательного
ключевого слова SHADOW.
    По умолчанию установлено SHADOWS ON.



ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є            SET SKIP             є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Создание отношений связи один ко многим между базами данных.
    SET SKIP TO [ [, ] ... ]
    Замечания
    Новая в FoxPro 2.0
    Смотри также
    RELATION(), SET RELATION, SKIP
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Вы можете установить отношение связи между базами открытыми в раз-
ных рабочих областях при помощи команды SET RELATION.  Когда указатель
записи перемещается  по  родительской базе данных,  указатель записи в
родительской базе данных перемещается на  первую  соответствующую  за-
пись. Запись, на которую перемещается указатель записи в дочерней базе
данных определяется выражением отношения связи в  SET  RELATION.  Если
отношение связи  установлено один к одному - для каждой записи в роди-
тельской базе данных указатель записи перемещается  только  на  первую
соответствующую запись  в  дочерней базе данных.  Если соответствующая
запись в дочерней базе данных не найдена,  указатель записи  перемеща-
ется на конец файла.
    Часто дочерняя база данных  содержит  множество  записей,  которые
соответствуют одной записи в родительской базе данных. SET SKIP позво-
ляет установить отношение связи один ко многим между записью  в  роди-
тельской базе данных и множеством записей в дочерней базе данных. Ког-
да Вы проходите через родительский файл,  указатель записи  показывает
на одну и ту же запись,  пока не будут пройдены все связанные записи в
дочернем файле.
    Отношение один ко многим осуществляется в начале также,  как и от-
ношение один к одному. Во первых, отношение связи между родительской и
дочерней базой  данных  устанавливаются командой SET RELATION.  Затем,
SET SKIP создает множественные отношения связи.
    Дополнительные опции
    [ [, ] ... ]
    Если родительская  база данных связана с несколькими дочерними ба-
зами данных,  Вы  можете  включить   список   псевдонимов   (,
, ...  ),  разделенного  запятыми для создания отношений связи
один ко многим с каждой дочерней базой данных.
    В командах поддерживающих диапазон (DISPLAY, LIST, и т.д.), записи
в родительской базе данных  будут  повторяться  для  каждого  значения
соответствующей записи в дочерней базе данных.
    Для удаления отношения связи один ко многим в текущей рабочей  об-
ласти используйте  команду  SET SKIP TO без дополнительных аргументов,
при этом отношение связи один к одному остается в силе  и  разрушается
только командой SET RELATION TO.

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є         Пример программы        є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    В следующем примере программы, отношение связи один ко многим соз-
дается командой SET SKIP. Родительская база данных INVOICE
содержит поле с номером поставки и информации  о  покупателе,  которые
размещены по  порядку.  Создается единичная запись в родительской базе
данных для каждой поставки.  Другая база данных (LINEITEMS,  дочерняя)
также содержит  поле  с номером поставки.  Оставшиеся поля базы данных
LINEITEMS содержат информацию о каждом элементе поставки. Дочерняя ба-
за данных  LINEITMSсодержит  множество записей для каждой записи роди-
тельскойбазы данных.
    Родительская база (INVOICE.DBF) открывается. Дочерняя база данных
(LINEITMS.DBF) открывается и упорядочивается по поставкам.По этому по-
лю устанавливается отношение связи между базами данных.
    Выбирается рабочая область с родительской базой данных и  устанав-
ливается отношение связи (SET RELATION TO invoice INTO lineitms). Поле
INVOICE представляет собой индексный ключ для поиска в  дочерней  базе
данных.  SET  SKIP  порождается  для установки отношения связи один ко
многим между родительской и дочерней базой данных.  Окно BROWSE откры-
вается для просмотра полей из двух баз данных.

CLOSE ALL
CLEAR
SELECT 0                               && Родительская рабочая область
USE invoice                            && Родительская база данных
SELECT 0                               && Дочерняя рабочая область
USE lineitms                           && Дочерняя база данных
SET ORDER TO TAG invoice               && Выбор индекса
SELECT invoice                         && Назад в род. рабочую область
SET RELATION TO invoice INTO lineitms  && Установка отношения связи
SET SKIP TO lineitms                   && Создание отнош. один ко многим

** Показывает  поля  из  родительской  (invoice)  и  дочерней   (item,
descript) баз данных **

BROWSE FIELDS invoice.invoice, invoice.company, lineitms.quantity,;
        lineitms.descript NOWAIT



ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є           SET SKIP OF           є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Запрещает/разрешает меню
    Синтаксис
    SET SKIP OF MENU  
    SET SKIP OF PAD  OF  
    SET SKIP OF POPUP  
    SET SKIP OF BAR  | 
     OF  
    Замечания
    Новая для FoxPro 2.0
    Смотри также
    CREATE MENUM, DEFINE BAR, DEFINE MENU, DEFINE PAD, DEFINE POPUP,
    MENU- System Menu Names (Имена системного меню)
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    SET SKIP OF позволяет выборочно запрещать/разрешать  меню,  пункты
меню,  всплывающие  меню и строки всплывающих меню.  SET SKIP OF может
использоваться с системным меню FoxPro, или с пользовательскими систе-
мами  меню.  Полный список имен системных меню приведен в данном доку-
менте, в теме "Имена системного меню"
    Если логическое   выражение    принимает  значение  "истина"
(.T.),  меню,  пункты меню, всплывающие меню и строки всплывающих меню
включенные  в SET SKIP OF запрещены (не могут выбираться) и высвечива-
ются запрещенным цветом.  Если логическое выражение    принимает
значение "ложь" (.F.),  меню,  пункты меню,  всплывающие меню и строки
всплывающих меню включенные в SET SKIP OF разрешены (могут выбираться)
и высвечиваются разрешенным цветом.

    SET SKIP OF MENU  
    SET SKIP OF MENU позволяет разрешить/запретить линейку меню.  Нап-
ример, системная  линейка  меню  FoxPro _MSYSMENU может быть запрещена
командой:
    SET SKIP OF MENU _MSYSMENU .T.;
и разрешена командой:
    SET SKIP OF MENU _MSYSMENU .F..

    SET SKIP  OF MENU может также использоваться для разрешения/запре-
щения пользовательских меню созданных при помощи команды DEFINE MENU.

    SET SKIP OF PAD  OF  
    SET SKIP OF PAD позволяет разрешать/запрещать указанные пункты ме-
ню в линейке меню.  Вы  можете  выборочно  разрешать/запрещать  пункты
системного меню FoxPro,  или пункты пользовательского меню, созданного
командой DEFINE PAD.
        Например, пункт  меню FoxPro "File" может быть запрещен коман-
дой:
    SET SKIP OF PAD _MSM_FILE OF _MSYSMENU .T.;  и разрешен при помощи
команды:
    SET SKIP OF PAD _MSM_FILE OF _MSYSMENU .F.

    SET SKIP OF POPUP  
    SET SKIP  OF  POPUP  позволяет   разрешать/запрещать
всплывающие
системные меню FoxPro,  или пользовательские всплывающие меню, создан-
ные командой DEFINE POPUP.
        Например, всплывающее  меню FoxPro "File" может быть запрещено
командой:
    SET SKIP OF POPUP _MFILE .T., и разрешено при помощи команды:
    SET SKIP OF POPUP _MFILE .F.

    SET SKIP OF BAR | 
      OF  
    SET SKIP  OF  BAR  позволяет  разрешить/запретить указанные строки
всплывающих меню.  Вы можете запретить/разрешить  строки  всплывающего
системного меню FoxPro,  или пользовательского всплывающего меню, соз-
данного командой DEFINE BAR.
    Например, строку  "New" всплывающего меню FoxPro "File" можно зап-
ретить командой:
    SET SKIP OF BAR _MFI_NEW OF _MFILE .T.; и разрешить при помощи ко-
манды:
    SET SKIP OF BAR _MFI_NEW OF _MFILE .F.



ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є            SET SPACE            є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Вставка или удаление пробела между полями в командах ? или ??
    Синтаксис
    SET SPACE ON | OFF
    Смотри также
    ? | ??
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Команда SET SPACE может быть использована для вставки или удаления
пробела  (space) между полями или выражениями при использовании команд
? или ??.
    Команда SPACE  ON  вставляет  пробел между полями или выражениями,
тогда как команда SPACE OFF обрабатывает поля и выражения вместе.
    По умолчанию установлено SPACE ON.

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є            Примеры              є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
x = 'John'
y = 'Smith'
SET SPACE OFF
? x,y
  JohnSmith

SET SPACE ON
? x,y
  John Smith


ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є           SET STATUS            є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Разрешение или запрет отображения в линейки состояния
    Синтаксис
    SET STATUS ON | OFF
    Замечания
    Включена для обратной совместимости
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
       Команда SET STATUS влияет на сообщения, которые отоб-
ражаются в верхней части экрана.  Если  установлено
SET STATUS ON,  то строка состояния выводится на экран,  отображая имя
текущей программы (если есть),  активную базу данных,  текущую запись,
позицию указателя, число записей в файле базы данных, состояние ключей
Num Lock,  Caps Lock и Insert. Строка состояния обновляется при выпол-
нении, любой команды, изменяющей информацию, которая в ней содержится.
    В FoxPro/LAN,  в  строке  состояния указана сетевая версия FoxPro,
запись или файл, заблокированные в настоящее время.
    Выдача команды SET STATUS OFF, подавляет вывод строки состояния на
экран.
    По умолчанию установлено SET STATUS OFF.





?????? ???????????