Команда BROWSE
См. также
Синтаксис
BROWSE
Параметры
FIELDS FieldList
Задает поля, которые следует отобразить в окне просмотра. Поля выводятся в том
порядке, в котором они приведены в списке FieldList. В список можно включать поля из других связанных таблиц. Перед именем такого
поля нужно ставить псевдоним соответствующей таблицы с точкой.
Если предложение FIELDS опущено, будут отображены все поля таблицы в том поря
ке, в каком они расположены в рамках табличной структуры.
В списке полей можно указать любую комбинацию полей или вычисляемых полей.
Синтаксис списка полей:
[:R]
[:nColumnWidth]
[:V = lExpression1 [:F] [:E = cMessageText]]
[:P = cFormatCodes]
[:B = eLowerBound, eUpperBound [:F]]
[:H = cHeadingText]
[:W = lExpression2]
[, FieldName2 [:R]...]
В список полей могут входить операторы создания вычисляемых полей. Вычисляемое
поле содержит данные в режиме "только для чтения", созданные с помощью выраже
ия. Это выражение может носить произвольную форму, но непременно должно быть
опустимым выражением Visual FoxPro.
Формат оператора, используемого для создания вычисляемого поля:
CalculatedFieldName = eExpression
В следующем примере создается вычисляемое поле
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE customer && Open customer table
BROWSE FIELD location = ALLTRIM(city) + ', ' + country
Список полей предложения FIELDS включает опции, которые обеспечивают специальн
е виды обработки полей, отображаемых в окне просмотра:
:R
Устанавливает, что поле доступно только для чтения. Содержащиеся в нем данные
можно будет просматривать, но не редактировать.
В следующем примере открывается окно просмотра с полями
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE customer && Open customer table
BROWSE FIELD cust_id:R, company
Задает размер отображения поля в столбцах. Значение параметра :nColumnWidth не
влияет на размер поля в таблице; он только определяет внешний вид поля в окне
просмотра.
:V = lExpression1 [:F] [:E = cMessageText]
Опция проверки (:V) позволяет выполнять в окне просмотра проверку достовер
ости данных на уровне поля. Если при выведении курсора из поля значение выражения lExpression1 есть "истина" (.T.), то помещенные в него данные считаются корректными и ку
сор переходит в следующее поле.
Если значение lExpression1 "ложь" (.F.), введенные данные считаются некорректными, курсор остается в по
е и выдается сообщение. Если значение lExpression1 равно 0, введенные данные считаются некорректными и курсор остается в поле,
о сообщение об ошибке не выдается.
По умолчанию значение lExpression1 вычисляется только при изменении поля. Чтобы принудительно выполнять прове
ку, задайте опцию :F.
Вы можете выдавать собственное сообщение об ошибке, задав опцию :E (см. ниже).
Опция проверки не действует для memo-полей.
:F
Указывает, должно ли вычисляться выражение проверки при выводе курсора за пре
елы поля или при активизации другого окна. Если :F не задано, значение lExpression1 вычисляется только при внесении изменений в поле. Если :F задано, lExpression1 вычисляется даже в том случае, если поле не модифицируется.
:E = cMessageText
Если значение выражения :V = lExpression1 есть "истина", курсор выходит из поля. Если значение выражения "ложь", курсор остается в поле и Visual FoxPro выдает сообщение об ошибке
Если задана опция ошибки (:E), то вместо системного сообщения об ошибке
появится cMessageText. Сообщение cMessageText выдается только в том случае, если командой SET NOTIFY установлено значение
ON. Если включена установка SET BELL ON, раздается звуковой сигнал.
Если значение :V = lExpression1 равно 0, никакие сообщения не выдаются и курсор остается в проверяемом поле.
Это дает вм возможность формировать собственные сообщения об ошибках в прог
аммах проверки достоверности.
В следующем примере открывается таблица
Опция :V задает критерий проверки достоверности. Опция :F форсирует выполнение
процерки достоверности независимо от того, изменялись данные или нет. Опция :E
замещает системное сообщение об ошибке Visual FoxPro пользовательским сообще
ием об ошибке. В Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh сообще
ие об ошибке появляется в строке состояния внизу основного окна Visual FoxPro.
Чтобы закрыть окно просмотра, нажмите клавишу
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE products && Open products table
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'
Если используется предложение FIELDS, для каждого поля списка можно задать и
опцию шаблона (:P). Эта опция позволяет создавать список кодов, контролирующих
отображение и ввод данных для каждого поля в окне просмотра. cFormatCodes представляет собой список кодов.
Подробнее об использовании форматирующих кодов шаблонов см. описание команд @ ... GET и @ ... SAY. За исключением кода M, в предложениях PICTURE и FUNCTION можно использовать
все функциональные форматирующие коды и коды шаблонов, предусмотренные коман
ами @ ... GET и @ ... SAY.
В следующем примере применение опции шаблона позволяет обеспечить ввод в поле
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE products && Open products table
BROWSE FIELDS unit_price :P = '99,999.99'
Задает набор диапазонов, в которые должны попадать данные в поле. Граничные вы
ажения eLowerBound и eUpperBound должны соответствовать типу данных поля и не могут быть функциями, определенн
ми пользователем. Если введенные данные не попадают в интервал между eLowerBound и eUpperBound, выдается системное сообщение об ошибке, в котором приводится допустимый
иапазон для данных.
По умолчанию вводимые данные проверяются на соответствие граничным условиям то
ько в том случае, если в содержимое поля вносится изменение. Чтобы форсировать
проверку граничных условий, задайте опцию форсирования проверки достоверности
(:F).
В следующем примере данные поля
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE products && Open products table
BROWSE FIELDS in_stock :B = 1, 100 :F
Замещает принимаемые по умолчанию имена полей названиями, которые вы задаете с
помощью аргумента cHeadingText. По умолчанию в качестве заголовков столбцов в окне просмотра используются
имена полей.
В следующем примере для отображенных полей предоставляются заголовки, опреде
яемые пользователем.
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE products && Open products table
BROWSE FIELDS prod_name :H = 'Product Name:', ;
unit_price :H = 'Price per Unit:'
Вы можете запретить перемещение курсора в поле в зависимости от значения
огического выражения lExpression2. Если значение lExpression2 есть "ложь" (.F.), перемещать курсор в поле запрещается. Если значение lExpression2 "истина" (.T.), курсор можно ввести в поле. В выражении lExpression2 допускаются функции, определенные пользователем.
Если курсор запрещено вводить во все поля, текущая запись помечается атрибутом
"только для чтение". Это произойдет только в том случае, если для каждого поля
указано предложение WHEN, дающее значение "ложь".
FONT cFontName [, nFontSize]
Задает шрифт окна просмотра и размер шрифта. Символьное выражение cFontName определяет имя шрифта, а числовое выражение nFontSize его размер. Например, приведенное ниже предложение задает 16-пунктовый шрифт
Courier для полей в окне просмотра:
В Visual FoxPro и FoxPro для Windows, если заданный шрифт отсутствует, его
заменяет шрифт с похожими характеристиками.
В FoxPro для Macintosh, если заданный шрифт отсутствует, используется шрифт
Chicago.
В FoxPro для MS-DOS предложение FONT игнорируется.
STYLE cFontStyle
Задает стиль шрифта окна просмотра в Visual FoxPro, FoxPro для Windows и
FoxPro для Macintosh. Если опустить предложение STYLE, используется стиль Normal (Но
мальный).
В Visual FoxPro, если заданный стиль шрифта отсутствует, его заменяет стиль с
похожими характеристиками.
В FoxPro для Macintosh, если заданный стиль шрифта отсутствует, используется
стиль Normal (Нормальный).
Предложение STYLE игнорируется в FoxPro для MS-DOS.
[FIELDS FieldList]
[FONT cFontName [, nFontSize]]
[STYLE cFontStyle]
[FOR lExpression1 [REST]]
[FORMAT]
[FREEZE FieldName]
[KEY eExpression1 [, eExpression2]]
[LAST | NOINIT]
[LOCK nNumberOfFields]
[LPARTITION]
[NAME ObjectName]
[NOAPPEND]
[NOCLEAR]
[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 | IN MACDESKTOP]]
[COLOR SCHEME nSchemeNumber
| COLOR ColorPairList]
Символ
| Стиль шрифта
|
B
| Bold (Полужирный)
|
C
| Condense (Уплотненный; только в FoxPro для Macintosh)
|
E
| Extend (Расширенный; только в FoxPro для Macintosh)
|
I
| Italic (Курсив)
|
N
| Normal (Нормальный)
|
O
| Outline (Контурный)
|
Q
| Opaque (Непрозрачный)
|
S
| Shadow (Затененный)
|
-
| Strikeout (Перечеркнутый; только в Visual FoxPro и FoxPro для Windows)
|
T
| Transparent (Прозрачный)
|
U
| Underline (Подчеркнутый)
|
CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE customer && Open customer table
IF _WINDOWS
BROWSE FIELDS contact FONT 'System', 15 STYLE 'NU'
ENDIF
IF _MAC
BROWSE FIELDS contact FONT 'Geneva', 14 STYLE 'NU'
ENDIF
FOR lExpression1
Задает условие отображения в окне просмотра: отображаются только те записи, д я которых значение выражения lExpression1 есть "истина".
Технология Rushmore оптимизирует запрос, выполняемый командой BROWSE FOR, если lExpression1 представляет собой оптимизируемое выражение. Для повышения производительности пользуйтесь в предложениях FOR только оптимизируемыми выражениями. Подробнее о выражениях, оптимизируемых по технологии Rushmore, см. темы SET OPTIMIZE и Основы технологии Rushmore
или главу 17 "Оптимизация приложений" Руководства разработчика.Предложение FOR позволяет подвести указатель записи к первой записи, удовлетво яющей условию. С помощью предложения REST указатель записи сохраняется в текущей позиции.
REST
Предотвращает перемещение указателя записи из текущей позиции к началу таблиц , когда окно просмотра открывается с предложением FOR. В противном случае коман а BROWSE по умолчанию устанавливает указатель записи в начало таблицы.
FORMAT
Задает использование файла формата для контроля формата отображения и ввода да ных в окне просмотра. Файл формата нужно предварительно открыть с помощью кома ды SET FORMAT. Приведенная ниже информация извлекается из файла формата и п именяется для оформления окна просмотра:
Список полей для просмотра
Все предложения VALID
Все предложения WHEN
Все предложения RANGE
Размеры полей (определенные в предложениях PICTURE)
Все выражения SAY (заданные как вычисляемые поля BROWSE)
В следующем примере файл формата используется для проверки достоверности данн х, введенных в окно просмотра. Позиции, заданные командой @ ... GET, игнори уются.
В первой строке создается поле BROWSE (
cust_id) шириной в пять символов и обеспечивается ввод только букв и цифр. Во второй строке создается поле BROWSE (company), в котором запрещены пустые значения и которое может содержать не более 20 уквенных символов.В третьей строке создается поле BROWSE (
contact), в которое можно вводить данные, только когда оно пусто. В последней строке создается вычисляемое поле (используется команда @ ... SAY), где в 20-символь ом формате отображается содержимое полей city и country с удаленными пробелами.Ниже приводится содержимое файла формата CUSTENTR.FMT, который используется д я проверки достоверности данных, введенных в таблицу
customer:@ 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( ) + 'samples\data\testdata')
USE customer && Open customer table
SET FORMAT TO custentr.fmt
BROWSE FORMAT
FREEZE FieldName
Разрешает вносить изменения только в одно поле в окне просмотра. Это поле за ается аргументом FieldName. Остальные поля только отображаются и не могут редактироваться.
CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE customer && Open customer table
BROWSE FIELDS phone :H = 'Phone Number:' , ;
company :H = 'Company:' ;
FREEZE phone
KEY eExpression1 [, eExpression2]
Ограничивает диапазон записей, отображаемых в окне просмотра. Предложение KEY позволяет задать значение ключа индекса (eExpression1) или диапазон значений ключа (eExpression1, eExpression2) для записей, отображаемых в окне просмотра. Просматриваемая таблица должна б ть индексирована, а значение (значения) ключа индекса, указанное в предложении KEY, должно иметь тот же тип данных, что и индексное выражение главного файла индекса или тега.
Например, таблица
customer включает символьное поле, содержащее почтовые коды. Если таблица индексирова а по полю почтового кода, можно задать диапазон почтовых кодов в предложении KEY.Следующий пример показывает, как отобразить в окне просмотра только те записи, почтовые коды которых попадают в диапазон от 10000 до 30000:
CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE customer && Open customer table
SET ORDER TO postalcode
BROWSE KEY '10000', '30000'
LAST | NOINIT
Сохраняет все конфигурационные изменения, внесенные в оформление окна просмот а. Эти изменения сохраняются в файле FOXUSER и могут затрагивать список полей, азмер каждого поля, а также расположение и размер окна просмотра.
Если выдать команду BROWSE с предложением LAST или NOINIT, окно просмотра отк оется в той же конфигурации, что была сохранена в последний раз в файле FOXUSER, при условии, что действует установка SET RESOURCE ON. Тем самым восстанав ивается предыдущая конфигурация окна просмотра, созданная последней командой BROWSE. Если последняя команда BROWSE, выданная в окне команд, включала длинный список предложений, выдайте команду BROWSE с опцией LAST или NOINIT и вам не понадо ится заново набирать всю команду. Подробнее о файле FOXUSER см. тему SET RESOURCE.
Если последнее окно просмотра было открыто по команде BROWSE с предложением PREFERENCE, то команда BROWSE LAST не будет восстанавливать эти настройки.
Никакие изменения конфигурации окна просмотра, внесенные в ходе текущего сеа са, не будут сохранены, если для выхода из BROWSE были нажаты клавиши
Ctrl+Q.Предложения LAST и NOINIT идентичны; NOINIT предусмотрено для совместимости с dBASE.
LOCK nNumberOfFields
Задает количество полей, которые можно увидеть в левом разделе окна просмотра ез табулирования или прокрутки. Размер левого раздела автоматически устанав ивается таким, чтобы отобразить заданное число полей.
LPARTITION
Указывает, что курсор помещается в первом поле левого раздела окна просмотра. По умолчанию при открытии окна просмотра курсор помещается в первое поле п авого раздела.
NAME ObjectName
Допустимо только в Visual FoxPro.
Создает ссылку на окно просмотра как на объект, что позволяет манипулировать окном просмотра, используя объектно-ориентированные свойства элемента управления Grid. Подробнее об объектно-ориентированном программировании в Visual FoxPro см. главу 3 "Объектно-ориентированное программирование" Руководства разработчика. Подробнее о свойствах элемента управления Grid, которые можно задать для ок а просмотра, созданного с помощью предложения NAME, см. тему Элемент управления Grid.
NOAPPEND
Запрещает пользователю добавлять записи в таблицу нажатием клавиш
Ctrl+Y в Visual FoxPro, Ctrl+N в ранних версиях FoxPro или выбором команды Append Record из меню Table в Visual FoxPro или Browse в ранних версиях FoxPro.
Важное замечание Предложение NOAPPEND не помешает вам добавить запись в подпрограмме (создан ой командами VALID, WHEN или ON KEY LABEL) во время работы в окне просмотра.
NOCLEAR
В FoxPro для MS-DOS
оставляет на экране изображение окна просмотра после его закрытия. Это изоб ажение не является активным окном просмотра. Чтобы удалить его, воспользуйтесь командой CLEAR.В Visual FoxPro, FoxPro для Windows, FoxPro для Macintosh предложение NOCLEAR игнорируется.
NODELETE
Запрещает помечать записи на удаление в окне просмотра. По умолчанию, чтобы пометить запись на удаление, нужно нажать клавиши
Ctrl+T, выбрать команду Toggle Delete в меню Table в Visual FoxPro или в меню Browse в ранних версиях FoxPro или щелкнуть самый левый столбец удаляемой записи.
Важное замечание Предложение NODELETE не помешает вам пометить запись на удаление в подпрог амме (созданной командами VALID, WHEN или ON KEY LABEL) во время работы в окне п осмотра.
NOEDIT | NOMODIFY
Не позволяет пользователю модифицировать таблицу. Предложения NOEDIT и NOMODIFY идентичны. Если задано любое из них, вы можете просматривать таблицу или вести в ней поиск, но не редактировать. Впрочем, можно также добавлять и удалять записи.
NOLGRID
Удаляет линии сетки полей в левом разделе окна просмотра.
NORGRID
Удаляет линии сетки полей в правом разделе окна просмотра.
NOLINK
Разъединяет разделы окна просмотра. По умолчанию левый и правый разделы окна п осмотра связаны между собой, так что при прокручивании одного раздела вместе с ним прокручивается и другой раздел.
NOMENU
Удаляет заголовок меню Table в Visual FoxPro или Browse в ранних версиях FoxPro из системной строки меню, закрывая доступ к меню Browse.
NOOPTIMIZE
Блокирует оптимизацию команды BROWSE по технологии Rushmore. Подробнее об этом см. темы SET OPTIMIZE, Основы технологии Rushmore
или главу 17 "Оптимизация приложений" Руководства разработчика.NOREFRESH
Запрещает регенерацию окна просмотра. Окна просмотра регенерируются с частотой, устанавливаемой командой SET REFRESH. Опция NOREFRESH используется при работе с файлами в режиме "только чтение" и повышает производительность.
NORMAL
Открывает окно просмотра с его стандартными установками, принимаемыми по умо чанию, такими как цвета, размер, позиция, заголовок, управляющие опции (GROW, FLOAT, ZOOM и т.д.). Если предложение NORMAL опущено, а текущее окно вывода опре елено пользователем со своими собственными установками, окно просмотра также п инимает эти установки, определенные пользователем.
NOWAIT
Продолжает выполнение программы сразу после открытия окна просмотра. Программа не ждет, когда окно просмотра будет закрыто, а продолжает выполняться со ст оки, непосредственно следующей за строкой с командой BROWSE NOWAIT. Если при вы аче BROWSE в программе предложение NOWAIT опущено, окно просмотра откроется и в полнение программы будет приостановлено до закрытия окна просмотра.
Предложение NOWAIT можно задавать только в программе. Включение NOWAIT при вы аче BROWSE в окне команд останется без последствий.
PARTITION nColumnNumber
Разбивает окно просмотра на левый и правый разделы, причем nColumnNumber задает номер столбца линии разбиения. Например, если nColumnNumber равен 20, линия разбиения пройдет по столбцу 20 окна просмотра.
LEDIT
Задает для левого раздела окна просмотра режим редактирования.
REDIT
Задает для правого раздела окна просмотра режим редактирования. В следующем п имере окно просмотра открывается с линией разбиения в столбце 20 и с правым раз елом в режиме редактирования.
Чтобы открыть оба раздела в режиме редактирования, нужно указать оба ключевых слова.
CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE customer && Open customer table
BROWSE PARTITION 20 REDIT
PREFERENCE PreferenceName
Сохраняет атрибуты и опции окна просмотра для дальнейшего использования. В от ичие от предложения LAST, восстанавливающего окно просмотра в том виде, какой о о имело в ходе предыдущего сеанса, PREFERENCE сохраняет атрибуты окна просмот а в файле ресурсов FOXUSER на неопределенное время. Настройки можно восста овить в любой момент.
Когда команда BROWSE выдается в первый раз с данным именем настройки, в файле FOXUSER создается элемент, сохраняющий конфигурацию окна просмотра. Впосле ствии при выдаче BROWSE с тем же именем настройки окно просмотра будет восстанав иваться согласно этой настройке. При закрытии окна просмотра настройка обнов яется.
Имена настройки могут быть длиной до 10 символов, должны начинаться с буквы и и символа подчеркивания и могут содержать буквы, цифры и символы подчеркивания в любом сочетании.
Создав желаемую настройку, можно сделать так, чтобы она не изменялась. Зак ойте окно просмотра, выдайте команду SET RESOURCE OFF, откройте файл FOXUSER как таблицу и измените запись, содержащую настройку на "только чтение", установив д я логического поля READONLY значение "истина" (.T.).
Подробнее о файле ресурсов FOXUSER см. тему SET RESOURCE.
Если выйти из окна просмотра, нажав клавиши
Ctrl+Q, никакие изменения окна просмотра не будут сохранены в файле ресурсов.REST
Запрещает перемещение указателя записи с текущей позиции в начало таблицы. По умолчанию команда BROWSE устанавливает указатель записи на начало таблицы.
SAVE
Сохраняет окно просмотра и все окна редактирования текста memo-полей активными и видимыми (открытыми). Вы можете вернуться в окно просмотра, пройдя в цикле по цепочке открытых окон с помощью клавиатуры или мыши.
Предложение SAVE можно задавать только в программе. Если выдать команду BROWSE с предложением SAVE в окне команд, это не даст никакого эффекта, поскольку состояние BROWSE SAVE в интерактивном режиме всегда принимается по умолчанию.
TIMEOUT nSeconds
Определяет, как долго окно просмотра ждет ввода. Числовое выражение nSeconds задает, сколько секунд окно просмотра может ждать ввода данных, пока не зак оется автоматически.
Опцию TIMEOUT можно задавать только в программе; если указать ее при выдаче BROWSE в окне команд, это не даст никакого эффекта. В следующем примере окно п осмотра закрывается, если ввод не поступает в течение 10 секунд.
DEFINE WINDOW wBrowse FROM 1,1 TO 24,40 ;
CLOSE ;
GROW ;
COLOR SCHEME 10
CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE customer && Open customer table
BROWSE WINDOW wBrowse ;
FIELDS phone :H = 'Phone Number:' , ;
company :H = 'Company:' ;
TIMEOUT 10
RELEASE WINDOW wBrowse
TITLE cTitleText
Заменяет принимаемые по умолчанию имя или псевдоним таблицы, появляющиеся в ст оке заголовка окна просмотра, на заголовок, заданный текстом cTitleText. Иначе в строке заголовка появится имя или псевдоним просматриваемой таблицы.
Если выдать команду BROWSE WINDOW, чтобы поместить окно просмотра в окно, опре еленное пользователем, заголовок пользовательского окна будет заменен заго овком окна просмотра.
CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE customer && Open customer table
BROWSE;
TITLE 'My Browse Window' ;
FIELDS phone :H = 'Phone Number' , ;
company :H = 'Company:'
VALID lExpression2
Выполняет в окне просмотра проверку достоверности на уровне записи. Предложе ие VALID выполняется только в том случае, если в запись внесено изменение, а вы пытаетесь перевести курсор в другую запись. Предложение VALID не выполняется, если изменение внесено только в memo-поле.
Если VALID возвращает значение "истина" (.T.), пользователь может перевести ку сор в другую запись. Если VALID возвращает "ложь" (.F.), курсор остается в текущем поле и Visual FoxPro выдает сообщение об ошибке. Если VALID возвращает 0, курсор остается в текущем поле и сообщение об ошибке не выдается.
Предложение VALID не следует путать с опцией верификации (:V), которая осуществляет проверку достоверности на уровне поля.
:F
Форсирует выполнение предложения VALID до того, как пользователь переведет ку сор в следующую запись. В этом случае VALID выполняется даже тогда, когда запись не изменялась.
ERROR cMessageText
Задает текст сообщения об ошибке, отменяющего сообщение, принятое в системе по умолчанию. Visual FoxPro отображает сообщение cMessageText, когда предложение VALID возвращает значение "ложь" (.F.).
WHEN lExpression3
Проверяет данное условие при переводе курсора в другую запись. Если значением выражения lExpression3 оказывается "истина" (.T.), пользователь может модифицировать запись, в кото ую он перешел. Если значение lExpression3 есть "ложь" (.F.) или 0, запись, в которую произошел переход, становится оступной только для чтения и не может быть модифицирована.
Предложение WHEN не выполняется, когда активизируется еще одно окно.
WIDTH nFieldWidth
Устанавливает верхнюю границу общего количества символов, отображаемых в поле окна просмотра, равной nFieldWidth. Содержимое поля можно прокручивать в горизонтальном направлении с помощью к авиш
стрелка влево и стрелка вправо, а также используя горизонтальную линейку прокрутки. Включение предложения WIDTH не изменяет размера полей в таблице изменяется только способ их отображения в окне просмотра. Если для какого-ли о поля с помощью предложения FIELDS задана индивидуальная ширина, она отменяет ля этого поля значение ширины, определенной предложением WIDTH.WINDOW WindowName1
Задает определенное пользователем окно, характеристики которого принимает окно просмотра. Например, если пользовательское окно создано с указанием предложе ия FLOAT, окно просмотра можно перемещать. Заданное окно не обязательно должно б ть активным или видимым, но его нужно определить. Если в FoxPro для MS-DOS ок о определено с нижним колонтитулом, он не будет показан: его место занимает ли ейка прокрутки окна просмотра.
IN [WINDOW] WindowName2
Задает родительское окно, внутри которого открывается окно просмотра. Окно п осмотра не принимает характеристики родительского окна. Окно просмотра, активизи уемое в родительском окне, нельзя переместить за пределы последнего. Если пере вигать родительское окно, вместе с ним перемещается и окно просмотра.
Чтобы получить доступ к окну просмотра, сначала нужно определить родительское окно с помощью команды DEFINE WINDOW и сделать его активным и видимым.
IN SCREEN
Явно помещает окно просмотра в основное окно Visual FoxPro, когда активно ок о, определенное пользователем.
IN MACDESKTOP
Доступно только в FoxPro для Macintosh.
Помещает окно просмотра в основное окно Macintosh. Окно просмотра распо агается на том же уровне, что и основное окно FoxPro. Окно просмотра можно вынести из основного окна FoxPro, а последнее можно перевести на передний план поверх ок а просмотра. Если задано предложение MACDESKTOP, окно просмотра будет вести се я точно так же, как окна просмотра в FoxBASE+для Macintosh.
Предложение MACDESKTOP отменяет текущую установку SET MACDESKTOP. Эта уста овка определяет, должны окна просмотра размещаться в основном окне FoxPro или на " абочем столе" Macintosh в тех случаях, когда предложения SCREEN или MACDESKTOP не заданы. Подробнее о размещении окон просмотра в основном окне FoxPro или на "рабочем столе" Macintosh см. тему SET MACDESKTOP.
COLOR SCHEME nSchemeNumber
Определяет номер цветовой схемы, используемой в окне просмотра. В FoxPro для MS-DOS окно просмотра по умолчанию использует цвета, заданные цветовой схемой 10 (Browse).
В Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh в окне просмотра ействует цветовая схема, установленная на панели управления цветами Windows.
COLOR ColorPairList
Задает набор цветовых пар, используемых в окне просмотра. Ниже приводится таб ица, в которой показывается, какой элемент контролирует каждая цветовая пара в FoxPro для MS-DOS.
Номер цветовой пары
| Элемент окна просмотра
|
1
| Другие записи
|
2
| Текущее поле
|
3
| Рамка
|
4
| Цвет заголовка активного окна просмотра
|
5
| Цвет заголовка, когда активно другое окно
|
6
| Выделенный текст
|
7
| Текущая запись
|
8
| Затенение
|
Комментарии
Окно просмотра дает возможность просматривать записи в таблице, редактировать их и присоединять дополнительные записи. В Visual FoxPro одновременно можно иметь несколько окон просмотра.
Если вы нажимаете клавишу Esc, чтобы выйти из окна просмотра, изменения, внесе ные в последнее модифицированное поле, не аннулируются. Однако если вы после модификации поля перешли в другую запись, внесенные в поле изменения сохраняются.
О том, как ориентироваться в окне просмотра и как редактировать и сохранять записи, см. тему
Перемещение по таблице и главу 3 "Создание таблиц" Руководства пользователя.Поддержка команды SET SKIP
Команда SET SKIP позволяет установить многозначное отношение между двумя таб ицами. Каждой записи родительской таблицы могут быть сопоставлены несколько связанных с ней записей в дочерней таблице. Если вы создали отношение один-ко-м огим, с помощью команды BROWSE можно просматривать записи как в родительской таб ице, так и в дочерней.
Родительская запись отображается один раз, вместе с первой соответствующей ей записью из дочерней таблицы. Остальные связанные записи отображаются в строках, следующих за родительской записью и первой дочерней записью.
В FoxPro для MS-DOS во всех столбцах, содержащих информацию из родительской та лицы, вне первой соответствующей записи отображаются затененные блоки.
В Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh вид символа-запол ителя для повторяющейся родительской информации зависит от текущего шрифта окна просмотра.
Если указатель записи установлен на родительской записи, его можно передвигать на другие родительские записи, нажимая клавиши
CTRL+СТРЕЛКА ВНИЗ (переход к следующей родительской записи) или CTRL+СТРЕЛКА ВВЕРХ (переход к предыдущей родительской записи). Подробнее о создании отношений оди -ко-многим см. описание команды SET SKIP.Ниже приведен пример использования команды SET SKIP для создания отношения оди -ко-многим между двумя таблицами. В родительской таблице (
customer) имеется одна запись. В дочерней таблице (orders) содержится по нескольку записей для каждой записи родительской таблицы. Пос е создания отношения открывается окно просмотра, содержащее записи и из родите ьской, и из дочерней таблиц.Список полей в предложении FIELDS включает записи как из родительской, так и из дочерней таблиц. Имена полей предваряются псевдонимом соответствующей таблицы (
orders или customer) и точкой.CLEAR
CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\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
BROWSE FIELDS customer.cust_id :H='Customer Number', ;
customer.city :H='Customer City', orders.shipped_on
Рекомендуемые функции
Ряд функций Visual FoxPro возвращают полезную информацию об окне просмотра.
Функция
| Описание
|
VARREAD( )
| Возвращает имя поля, содержащего курсор, для активного окна просмотра.
|
RECNO( )
| Возвращает номер выбранной записи в активном окне просмотра.
|
ROW( )
| Возвращает позицию курсора по строкам в активном окне просмотра.
|
COL( )
| Возвращает позицию курсора по столбцам в активном окне просмотра.
|
Новое на сайте
-
Обновлен портфель программиста
Добавлены: Установка HTML Help (Создание справочной системы), Imagedit.zip - Графический редактор ( ico и bmp), Библиотека локализации HTML Help (Русский) -
Новые примеры программ
Установка библиотек, Игровая программа "Охота на лис", Установка библиотек "Охота на лис", plastic -"Платежки", Библиотеки (на FPD26), platan -"Платежки" (на Clipper 5.2) -
Обновленна справка
Подсказки, технология программирования и использование Visual FoxPro. Команды, функции, операторы, объекты, свойства, события и методы.