Открывает окно просмотра Browse и отображает записи из текущей или выбранной таблицы.

BROWSE [FIELDS FieldList] [FONT cFontName [, nFontSize [, nFontCharSet]]] 
   [STYLE cFontStyle] [FOR lExpression1 [REST]] [FORMAT] 
   [FREEZE FieldName] [KEY eExpression1 [, eExpression2]] [LAST | NOINIT]
   [LOCK nNumberOfFields] [LPARTITION] [NAME ObjectName] [NOAPPEND]
   [NOCAPTIONS] [NODELETE] [NOEDIT | NOMODIFY] [NOLGRID] [NORGRID] 
   [NOLINK] [NOMENU] [NOOPTIMIZE] [NOREFRESH] [NORMAL] [NOWAIT] 
   [PARTITION nColumnNumber [LEDIT] [REDIT]]
   [PREFERENCE PreferenceName] [SAVE] [TIMEOUT nSeconds] 
   [TITLE cTitleText] [VALID [:F] lExpression2 [ERROR cMessageText]]
   [WHEN lExpression3] [WIDTH nFieldWidth] [WINDOW WindowName1]
   [IN [WINDOW] WindowName2 | IN SCREEN] [COLOR SCHEME nSchemeNumber]

Параметры

FIELDS FieldList

Определяет список полей, которые появятся в окне Browse. Поля отображаются в порядке, указанном в FieldList. Вы можете включить в список поля из других, связанных таблиц. Когда вы включаете поля из связанной таблицы, дополните имя поля спереди псевдоименем таблицы и точкой.

Если вы в команде опустите ключевое слово FIELDS, то будут отображены все поля таблицы, в порядке, в котором они определены в структуре таблицы.

FONT cFontName[, nFontSize [, nFontCharSet]]

Определяет шрифт и его размер для окна Browse. Символьное выражение cFontName указывает имя шрифта, а численное выражение nFontSize - его размер. Вы можете указать скрипт языка в параметре nFontCharSet. Смотрите описание функции GETFONT(), в котором вы найдете списко доступных значений скрипта языков.

Например, приведенная ниже опция шрифта определит шрифт Courier размером в 16 pt для полей, отображаемых в окне Browse:

 CopyCode imageCopy Code
FONT 'Courier',16 

Если вы включите в команду опцию FONT, но не укажите размер шрифта nFontSize, для окна Browse будет использоваться шрифт размеров в 10 pt. Если вы вообще опустите в команде опцию FONT, то будет использоваться шрифт размером 8-pt с именем MS Sans Serif.

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

STYLE cFontStyle

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

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

 
Символ Стиль шрифта

B

Bold (жирный)

I

Italic (наклонный или курсив)

N

Normal (

O

Outline

Q

Opaque

S

Shadow

Strikeout

T

Transparent

U

Underline

Вы можете включить в команду более одного символа для указания комбинацией стилей шрифта. Приведенный ниже пример открывает окно Browse и использует подчеркнутый шрифт:

 CopyCode imageCopy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && открывается таблица customer
IF _WINDOWS
   BROWSE FIELDS contact FONT 'System', 15  STYLE 'NU'
ENDIF
IF _MAC
   BROWSE FIELDS contact FONT 'Geneva', 14  STYLE 'NU'
ENDIF
FOR lExpression1

Указывает условие, по которому в окне Browse будут отображаться только те записи, для которых выражение lExpression1 оценивается в true .T. .

Rushmore Query Optimization оптимизирует запрос, указанный с помощью BROWSE FOR в случае, если lExpression1 представляет собой оптимизируемое выражение. Для получения наивысшей производительности используйте для опции FOR оптимизируемые выражения. Для получения более подробной информации об оптимизируемых выражениях Rushmore смотрите описание команды SET OPTIMIZE и статью Использование Rushmore Query Optimization для ускорения обращения к данным.

Включите FOR для перемещения указателя записи к первой записи, отвечающей условию. Включите REST для удержания указателя записи в его текущей позиции.

REST

Предотвращает перемещение указателя записи из его текущей позиции к вершине таблицы, когда окно Browse открывается с опцией FOR. В противном случае, BROWSE, по умолчанию, позиционирует указатель записи на вершину таблицы.

FORMAT

Определяет использование файла формата для управления отображением и формата ввода данных в окне Browse. Файл формата сначала нужно открыть с помощью команды SET FORMAT. Приведенная ниже информация извлечена из файла формата и применяется к окну Browse:

  • Список полей для просмотра

  • Все опции VALID

  • Все опции WHEN

  • Все опции RANGE

  • Размеры поля (как указано в опциях PICTURE)

  • Вы выражения SAY (включены как вычисляемые поля BROWSE)

Приведенный ниже пример использует файл формата для проверки данных, введенных в окне Browse. Позиции, указанные с помощью @ ... GET игнорируются.

Первая строка кода создает для BROWSE поле (cust_id), которое имеет ширину в 5 символов и позволяет вводит только буквы и цифры. Вторая строка создает для BROWSE поле (company), которое не может содержать пустое значение и может вместить до 20 (максимум) алфавитных символов.

Третья строка создает для BROWSE поле (contact) в которое вы можете ввести данные только в том случае, когда оно не содержит никакого значения.

Ниже приводится содержание файла формата Custentr.fmt, который используется для проверки данных, вводимых в таблицу customer:

 CopyCode imageCopy Code
@ 3,0 GET cust_id PICTURE 'NNNNN'
@ 3,0 GET company VALID company != SPACE(40) ;
   PICTURE 'AAAAAAAAAAAAAAAAAAAA'
@ 3,0 GET contact WHEN contact = SPACE(40)

* Ниже приведена программа, которая использует файл формата
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && открывается таблица customer
SET FORMAT TO custentr.fmt
BROWSE FORMAT
FREEZE FieldName

Позволяет в окне Browse производить изменения только в одном поле. Вы указываете это поле в FieldName. Оставшиеся поля будут отображаться, но не могут редактироваться.

 CopyCode imageCopy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Open customer table
BROWSE FIELDS phone :H = 'Phone Number:' , ;
   company :H = 'Company:' ;
   FREEZE phone
KEY eExpression1[, eExpression2]

Ограничивает область записей, которые отображаются в окне Browse. С помощью KEY вы можете указать значение индексного ключа (eExpression1) или диапазон значений ключа (eExpression1, eExpression2) для записей, которые отображаются в окне Browse. Таблица, которую вы просматриваете, должна быть индексирована и значение/значения ключей, включенных в опцию KEY должны быть одного и того же типа, что и индексное выражение главного индекного файла или тэга.

Например, таблица customer включает в себя символьное поле, содержащее почтовые коды. Если таблица индексирована по этому полю, вы можете указать диапазон почтовых кодов в опции KEY.

В приведенном ниже примере, в окне Browse будут отображаться только те записи, которые заполняются дипазон от 10,000 до 30,000:

 CopyCode imageCopy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && открывается таблица customer
SET ORDER TO postalcode
BROWSE KEY '10000', '30000'
LAST | NOINIT

Сохраняет любые изменения в конфигурации, связанные с видом окна Browse. Изменения сохраняются в файле ресурса FoxUser.dbf и могут включать в себя изменения в списке полей, размере каждого поля, а также размер и местоположение окна Browse на экране.

Если вы выдаете команду BROWSE с ключевыми словами LAST или NOINIT, окно Browse открывается в той же самой конфигурацией, которая была сохранена последней в файле ресурса FoxUser.dbf, если ранее была выдана команда SET RESOURCE ON. Это восстанавливает конфигурацию окна Browse созданную последней командой BROWSE. Если команда BROWSE была выдана последней в командном окне с длинным списком опцией, выдача BROWSE с ключевыми словами LAST или NOINIT помогут избежать необходимости печатать такую длинную команду. Для получения более подробной информации о файле ресурса FoxUser смотрите описание SET RESOURCE.

Если окно Browse было открыто командой BROWSE, которая включала в себя ключевое слово PREFERENCE, BROWSE LAST не будет восстанавливать ранее определенных предпочтений.

Любые изменения конфигурации окна Browse, сделанные в текущей сессии не сохраняются, если вы выходите из окна BROWSE нажатием CTRL+Q.

Опции LAST и NOINIT идентичны; NOINIT обеспечивает совместимость с dBASE.

LOCK nNumberOfFields

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

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

LPARTITION

Определяет, что курсор помещается в первое поле в левом сегменте окна Browse. По умолчанию, при открытии окна Browse курсор помещается в первое поле в правом сегменте окна.

NAME ObjectName

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

NOAPPEND

Предотвращает добавление пользотелем записей в таблицу с помощью клавиш CTRL+Y или выбором пункта Append Record (Добавит запись) из меню Table menu.

NoteЗамечание

Включение в команду ключевого слова NOAPPEND не предохраняет от добавления записей из процедуры (созданной с помощью VALID, WHEN или ON KEY LABEL) пока открыто окно Browse.

NOCAPTIONS

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

NODELETE

Предотвращает пометку записей для удаления в окне Browse. По умолчанию, записи могут быть помечены для удаления нажатием CTRL+T, выбором Toggle Delete (Переключить удаление) из меню Table или щелчок по крайней левой колонке около записи.

NOEDIT | NOMODIFY

Запрещает пользователю изменять таблицу. NOEDIT и NOMODIFY идентичны. Если вы включите в команду любое из этих ключевых слов, вы можете просматривать таблицу или искать в ней записи, но вы не можете редактировать ее данные. Однако, вы можете доабвлять или удалять записи.

NOLGRID

Удаляет разлиновку полей в левом сегменте окна Browse.

NORGRID

Удаляет разлиновку полей в правом сегменте окна Browse.

NOLINK

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

NOMENU

Удаляет из системного меню заголовок Table (Таблица), предотвращая доступ к меню Browse.

NOOPTIMIZE

Запрещает Rushmore Query Optimization для BROWSE. Для получения более подробной информации смотрите SET OPTIMIZE и Использование Rushmore Query Optimization для ускорения обращения к данным.

NOREFRESH

Предотвращает окно Browse от обновления. Окно Browse обновляется в соответствии со значением, установленным командой SET REFRESH. NOREFRESH полезно при просмотре файлов с аттрибутом "только для чтения" и повышает производительность.

NORMAL

Открывает окно Browse с его нормальными, определенными по умолчанию, установками, такими, как его цвета, размер, положение на экране, заголовок и управляющими опциями (GROW, FLOAT, ZOOM и тому подобными). Если вы в команде опустите ключевое слово NORMAL, а текущее окно вывода представляет собой определенное пользователем окно со своими собственными установками, окно Browse принимает эти определенные пользователем установки.

NOWAIT

Продолжает исполнение программы, следующей за командой, открывшей окно Browse. Программа не будет ожидать закрытия окна Browse и продолжит исполнение строки, следующей сразу за строкой, содержащей BROWSE NOWAIT. Если вы в команде опустите ключевое слово NOWAIT, когда команда BROWSE выдается из программы, окно Browse открывается и исполнение программы приостанавливается до тех пор, пока не будет закрыто окно Browse.

NOWAIT доступно только в программах. Включение NOWAIT в команду BROWSE, выданную в командном окне не будет иметь никакого эффекта.

PARTITION nColumnNumber

Разделяет окно Browse на левый и правый сегменты с nColumnNumber, указывающим номер колонки для полосы разделения сегментов. Например, если nColumnNumber равно 20, то полоса разеделения помещается в 20-й колонке окна Browse.

LEDIT

Определяет, что левый сегмент окна Browse появляется в режиме Edit.

REDIT

Определяет, что правый сегмент окна Browse появляется в режиме Edit. Приведенный ниже пример открывает окно Browse с полосой разделения, помещенной в 20-й колонке и правый сегмент окна открывается в режиме Edit.

Влючение в команду обоих ключевых слов открывает оба сегмента в режиме Edit.

 CopyCode imageCopy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && открывается таблица customer
BROWSE PARTITION 20 REDIT
PREFERENCE PreferenceName

Сохраняет аттрибуты окна Browse и его опции для использования в дальнейшем. В противоположность LAST, которое восстанавливает окно Browse в том виде, в каком оно появлялось в предыдущей сессии, PREFERENCE неограниченно сохраняет аттрибуты окна Browse в файле ресурса FoxUser.dbf. Предпочтения могут быть затребованы в любое время.

Первоначальная выдача команды BROWSE с указанным именем предпочтений создает ввод в таблице FoxUser.dbf, в котором затем сохраняется конфигурация окна Browse. Выдача в дальнейшем команды BROWSE с указанным именем предпочтений восстанавливает окно Browse в том состоянии, которое определяется сохраненными установками. При закрытии окна Browse предпочтения переписываются новыми значениями.

Имя предпочтения может иметь длину в 10 символов, должно начинаться с буквы или символа подчеркивания, и может содержать любую комбинацию букв, цифр и символов подчеркивания.

Если вы определили для себя какие-то предпочтения в отображении окна, вы можете предотвратить их измненение. Закройте окно Browse, выдайте команду SET RESOURCE OFF, откройте файл FoxUser.dbf как обычную таблицу и пометьте запись, содержащую ваши предпочтительные установки аттрибутом "только для чтения", изменив значение логического поля READONLY в (.T.).

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

Если вы закрываете окно Browse с помощью комбинации клавиш CTRL+Q, изменения аттрибутов Browse не сохраняются в файле ресурса.

SAVE

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

SAVE доступно только в программах. Выдача команды BROWSE с ключевым словом SAVE в командном окне не будет иметь никакого эффекта, поскольку BROWSE SAVE для интерактивного режима используется по умолчанию.

TIMEOUT nSeconds

Определяет, как долго окно Browse будет ожидать ввода. Численное выражение nSeconds сколько секунт пройдет до автоматического закрытия окна Browse, если не было сделано ни одного ввода или изменения данных.

TIMEOUT доступен только в программах; оно имеет никакого воздействия при выдаче команды BROWSE из командного окна. В приведенном ниже примере, окно Browse будет закрыто, если в течении 10 секунд не произойдет ввода данных.

 CopyCode imageCopy Code
DEFINE WINDOW wBrowse FROM 1,1 TO 24,40 ;
   CLOSE ;
   GROW ;
   COLOR SCHEME 10
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && открывается таблица customer
Browse WINDOW wBrowse ;
   FIELDS phone :H = 'Phone Number:' , ;
   company :H = 'Company:' ;
   TIMEOUT 10
RELEASE WINDOW wBrowse
TITLE cTitleText

По умолчанию, в заголовке окна Browse появляется имя таблицы и используемое для нее псевдоимя. Если вы при выдачи команды Browse использовали это ключевое слово с указанным в cTitleText текстом, то последний будет использоваться в качестве заголовка окна.

Если вы выдаете команду Browse для размещения окна Browse в определенном пользователем окне, заголовок окна Browse заменит заголовок пользовательского окна.

 CopyCode imageCopy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && открывается таблица customer
BROWSE;
   TITLE 'My окно Browse' ;
   FIELDS phone :H = 'Phone Number' , ;
   company :H = 'Company:'
VALID lExpression2

Производит проверку ввода на уровне записи в окне Browse. Ключевое слово VALID используется только в том случае, если вы сделали изменения в записи, а затем попытались переместиться к другой записи. Однако, опция VALID не исполняется, если изменения были сделаны только в мемо-поле.

Если VALID возвратит true (.T.), то пользователь может переместить курсор к следующей записи. В противном случае (если VALID возвратит false (.F.)), курсор останется в текущем поле и Visual FoxPro сгенерирует сообщение об ошибке. Если VALID возвратит 0, курсор останется в текущей записи, но сообщение об ошибке сгенерировано не будет.

Не путайте опцию VALID с опцией проверки (:V), которая позволяет проверку на уровне поля.

:F

Принуждает исполнение опции VALID до перемещения курсора к следующей записи. В этом случае, VALID исполняется даже если в записи не было произведено изменений.

ERROR cMessageText

Указывает сообщение об ошиьке, которое переписывает системное сообщение, используемое по умолчанию. Visual FoxPro отобразит cMessageText когда VALID возвратит false (.F.).

WHEN lExpression3

Оценивается условие, когда пользователь перемещает курсор в следующую запись. Если lExpression3 оценивается в true (.T.), то пользователь может редактировать запись, к которой он перемещается. Если lExpression3 оценивается в false (.F.) или в 0, запись, к которой перемещается пользователь приобретает признак "только для чтения" и не может быть изменена.

Опция WHEN не исполняется при активации другого окна.

WIDTH nFieldWidth

Ограничивает число символов, отображаемый во всех полях в окне Browse значением nFieldWidth. Содержание поля может быть просмотрено горизонтальной прокруткой с помощью клавиш управления курсором LEFT ARROW и RIGHT ARROW или с помощью полосы горизонтальной прокрутки. Включение в команду опции WIDTH не изменяет размер полей в таблице, оно только изменяет вид отображения полей в окне Browse. Если была указана ширина для конкретного поля в опции FIELDS, она переписывается значением, определенным с WIDTH для этого поля.

WINDOW WindowName1

Указывает определенное пользователем окно, чьи характеристики приобретает окно Browse. Например, если пользовательское окно было определено с опцией FLOAT, окно Browse может быть перемещено. Указанное окно не обязательно должно быть активным или видимым, но оно должно быть определено до команды Browse.

IN [WINDOW] WindowName2

Указывает родительское окно, внутрь которого будет помещено окно Browse. В этом случае окно Browse не принимает характеристик родительского окна. Окно Browse активизируется внутри родительского окна и не может быть перемещено из него. Если перемещается родительское окно, окно Browse перемещается вместе с ним.

Для обращения к окну Browse, родительское окно должно быть определено первым с помощью DEFINE WINDOW и должно быть активным и видимым.

IN SCREEN

Явно помещает окно Browse в главном окне Visual FoxPro, даже когда активно пользовательское окно.

COLOR SCHEME nSchemeNumber

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

Окно Browse принимает цветовую гамму, установленную с помощью панели управления цветом Windows.

Expand image Примечания

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