Новости



Visual FoxPro 9 позволяет создавать ещё более производительные приложения баз данных.
Двадцатиление FoxPro! Microsoft принимает поздравления.
Visual FoxPro Toolkit for .NET - более 225 функций VFP 7.0, для языков .NET (подробнее)

Команда @ ... GET - поля ввода значения

См. также

Создает поле ввода значения. Включена для совместимости с предыдущими ве сиями. Для приложений Visual FoxPro следует использовать элемент управления Spinner.

Синтаксис

@ nRow, nColumn
GET MemVarName | FieldName
SPINNER nChangeValue [, nMinValue [, nMaxValue]]
[FUNCTION cFormatCodes]
[PICTURE cFormatCodes]
[NAME ObjectName]
[FONT cFontName [, nFontSize]]
[STYLE cFontStyle]
[DEFAULT nExpression1]
[SIZE nHeight, nWidth]
[ENABLE | DISABLE]
[MESSAGE cMessageText]
[RANGE [nLowerBound] [, nUpperBound]]
[VALID lExpression1 | nExpression2 [ERROR cErrorText]]
[WHEN lExpression2]
[COLOR SCHEME nSchemeNumber
| COLOR ColorPairList]

Параметры

@ nRow, nColumn

Задает позицию поля ввода значения.

Строки нумеруются сверху вниз. Первая строка имеет номер 0 в основном окне Visual FoxPro или в окне, определенном пользователем.

fox90000.gif В Visual FoxPro строка 0 fox90001.gif это строка, расположенная непосредственно под системной строкой меню Visual FoxPro.

fox90000.gif В FoxPro для Macintosh строка 0 fox90001.gif это строка, расположенная непосредственно под строкой заголовка FoxPro.

Столбцы нумеруются слева направо. Первый столбец имеет номер 0 в основном окне Visual FoxPro или в пользовательском окне.

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

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

Позицию поля ввода значения в окне можно задавать дробными значениями коорди ат по строкам и столбцам.

GET MemVarName | FieldName

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

SPINNER nChangeValue [, nMinValue [, nMaxValue]]

Задает значения, отображаемые в поле ввода значения.

Значение, отображаемое в поле ввода, можно изменять (увеличивать или уме ьшать) с приращением, определяемым величиной nChangeValue. Например, если значение nChangeValue равно 2 и вы нажимаете кнопку со стрелкой вверх или со стрелкой вниз, значе ие в текстовом поле увеличится или уменьшится на 2.

В следующем примере определяется поле ввода значения для переменной памяти gnChoice. Содержимое поля изменяется с приращением 1 между нижней границей fox90002.gif5 и верхней границей 24. Начальное значение, отображаемое внутри поля, равно 3.

@ 2,2 GET gnChoice SPINNER 1, fox90002.gif5, 24 DEFAULT 3

Аргумент nMinValue задает минимальную величину, которая может быть отображена в поле ввода значе ия, а аргумент nMaxValue fox90001.gif максимальную величину. Впрочем, с клавиатуры можно ввести в поле значение, которое лежит вне диапазона, определяемого границами nMinValue и nMaxValue. С помощью предложений VALID и RANGE можно контролировать значения, вводимые в поле с клавиатуры.

FUNCTION cFormatCodes | PICTURE cFormatCodes

Задает поле ввода значения и его название. Можно включить предложение FUNCTION, предложение PICTURE или оба эти предложения. Ни один из этих трех методов не ьзя выделить в качестве предпочтительного. Предложения FUNCTION и PICTURE опре еляют, как значение из MemVarName или FieldName отображается и редактируется в текстовом поле.

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

cFormatCodes
Назначение
B
Выравнивает влево значение в поле ввода.
I
Центрирует значение в поле ввода.
J
Выравнивает вправо значение в поле ввода.
K
Выделяет для редактирования все значение целиком при выборе поля ввода.
L
Отображает начальные нули перед значением.
Z
Отображает пробел вместо значения, когда оно равно 0.
^
Отображает значение в экспоненциальном представлении.
$
Отображает значение в формате денежной единицы. Символ денежной единицы ставится слева или справа от значения, в зависимости от установки SET CURRENCY.

Символьное выражение cFormatCodes предложения PICTURE определяет, какие значения можно вводить в текстовом по е, как эти значения изображаются и как выглядит само поле ввода значения. Выраже ие cFormatCodes предложения PICTURE воздействует на отдельные символы значений в поле ввода. Вы должны ввести достаточное число символов маски, в расчете на максимальное з ачение, которое может появиться в поле, с учетом знаков и специальных символов.

Коды спецификации 2 и 3 допустимы только в FoxPro для Macintosh.

cFormatCodes
Назначение
9
Позволяет вводить цифры и знаки (+ или - ).
#
Позволяет вводить цифры, пробелы и знаки (+ или -).
$
Отображает текущий символ денежной единицы (заданный установкой SET CURRENCY).
*
Звездочки отображаются слева от значения.
.
Точка обозначает позицию десятичной запятой.
,
Запятые могут быть включены для разделения групп цифр слева от десятичной запятой.
2
Создает плоское (двумерное) поле ввода значения, аналогичное используемым в иалоговых окнах Macintosh. Данный тип поля ввода значения используется по умолча ию в FoxPro для Macintosh.
3
Создает трехмерное поле ввода значения, идентичное используемым в диалоговых окнах FoxPro для Macintosh.

NAME ObjectName

Допустимо только в Visual FoxPro.

Создает ссылку на поле ввода значения как на объект, что позволяет манипули овать им, используя объектно-ориентированные свойства элемента управления Spinner. Подробнее о манипулировании элементами управления FoxPro с помощью предложе ия NAME см. Элементы управления и объекты.

FONT cFontName [, nFontSize]

Допустимо только в Visual FoxPro и FoxPro для Macintosh.

Задает шрифт для названия поля ввода значения. Аргумент cFontName задает имя шрифта, а nFontSize fox90001.gif размер шрифта в пунктах. Например, следующее предложение можно использовать д я отображения текста в поле ввода шрифтом Courier, имеющим размер 16 пунктов:

@ 2, 2 GET gnChoice SPINNER 1, 1, 10 DEFAULT 3 FONT 'Courier', 16

Если вы задали предложение FONT, опустив размер шрифта nFontSize, используется 10-пунктовый шрифт.

fox90000.gif В Visual FoxPro, если заданный шрифт отсутствует, его заменяет шрифт с похожими характеристиками.

fox90000.gif В FoxPro для Macintosh, если заданный шрифт отсутствует, используется шрифт Chicago.

fox90000.gif В FoxPro для MS-DOS предложение FONT игнорируется.

Если предложение FONT опущено, а поле ввода значения помещается в основное ок о Visual FoxPro, используется шрифт этого окна. Если предложение FONT опущено, а поле ввода значения помещается в пользовательское окно, используется шрифт того пользовательского окна.

STYLE cFontStyle

Допустимо только в Visual FoxPro и FoxPro для Macintosh.

Задает стиль шрифта для названия поля ввода значения. Если опустить предложе ие STYLE, используется стиль Normal (нормальный).

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

fox90000.gif В FoxPro для Macintosh, если заданный стиль шрифта отсутствует, используется стиль Normal.

fox90000.gif В FoxPro для MS-DOS предложение STYLE игнорируется

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

Символ
Стиль шрифта
B
Bold (Полужирный)
C
Condense (Уплотненный; только в FoxPro для Macintosh)
E
Extend (Расширенный; только в FoxPro для Macintosh)
I
Italic (Курсив)
N
Normal (Нормальный)
O
Outline (Контурный)
Q
Opaque (Непрозрачный)
S
Shadow (Затененный)
-
Strikeout (Перечеркнутый; только в Visual FoxPro)
T
Transparent (Прозрачный)
U
Underline (Подчеркнутый)

Можно задать комбинацию стилей, указав сразу несколько символов. Например, сле ующее предложение задает полужирный курсив (Bold Italic):

@ 2, 2 GET gnChoice SPINNER 1, 1, 10 DEFAULT 3 STYLE 'BI'

DEFAULT nExpression1

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

Замечание Если предложение DEFAULT опущено и переменная памяти MemVarName не существует, Visual FoxPro сгенерирует сообщение об ошибке.

SIZE nHeight, nWidth

Задает высоту и ширину поля ввода значения. Аргумент nHeight задает высоту; она выражается в единицах, равных высоте текущего шрифта или ш ифта, указанного при создании поля. Например, если значение nHeight равно 2, высота поля ввода будет равна удвоенной высоте текущего или задан ого шрифта.

nWidth задает ширину поля ввода значения. Она выражается в единицах, равных средней ширине буквы в текущем шрифте или в шрифте, указанном при создании поля. Нап имер, если nWidth равно 2, ширина поля ввода будет равна удвоенной ширине текущего или задан ого шрифта.

На размер поля ввода значения влияет также его шрифт. Шрифт поля задается пред ожением FONT. Если это предложение опущено, в поле ввода значения используется шрифт его родительского окна (основного окна Visual FoxPro или окна, определен ого пользователем).

ENABLE

Делает поле ввода значения доступным. По умолчанию оно становится доступным п и выдаче команды READ. Предложение ENABLE можно включать в программу для напоми ания о том, что полем ввода значения можно пользоваться.

DISABLE

Запрещает активизацию поля ввода значения при выполнении команды READ. Когда поле ввода значения не активно, оно изображается определенными для данного состояния цветами и пользователь не может его выбирать. Чтобы сделать недоступное по е ввода значения доступным, используйте команду SHOW GET ENABLE.

MESSAGE cMessageText

Создает сообщение, которое выдается при выборе поля ввода значения. Сообщение выводится в строке состояния. Если строка состояния была отключена с помощью команды SET STATUS BAR OFF, сообщение располагается в последней строке основного окна Visual FoxPro.

RANGE [nLowerBound] [, nUpperBound]

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

Нижняя граница диапазона задается аргументом nLowerBound, а верхняя fox90001.gif аргументом nUpperBound. Один из этих аргументов, nLowerBound или nUpperBound, можно опустить, но не оба. Если какая-либо граница диапазона не задана, п оверка ее нарушения не производится.

Диапазон не проверяется, если вы нажимаете клавишу Enter, не проверяя начальное значение в поле.

VALID lExpression1 | nExpression2 [ERROR cErrorText]

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

Замечание В отличие от проверки диапазона RANGE, проверка выражения VALID выполняется всегда при попытке выйти из поля ввода значения, если только вы не используете ля этого клавишу Esc. Проверка диапазона выполняется только при изменении начального значения поля.

Как правило, lExpression1 и nExpression2 представляют собой пользовательские функции. С помощью подобных функций можно выбирать другие элементы управления, делать их доступными или недоступными, открывать окно просмотра, открывать другие формы для ввода данных или переходить к новой записи. В качестве пользовательской функции можно задать команду CLEAR READ, прекращающую операцию READ.

lExpression1

fox90000.gif Если выражение lExpression1 имеет логическое значение "истина" (.T.), значение в поле ввода считается п авильным и выход из поля разрешается.

fox90000.gif Если lExpression1 имеет значение "ложь" (.F.), то значение, введенное в поле, считается неправи ьным и поле ввода остается активным элементом управления. В графической строке состояния появляется сообщение, предлагающее заново ввести данные, предварите ьно нажав клавишу пробел.

nExpression2

Задает элемент управления, который следует активизировать после выбора поля ввода значения. Об элементах управления см. в Элементы управления и объекты.

fox90000.gif Если nExpression2 = 0, поле ввода значения остается активным элементом управления и выдача соо щений MESSAGE cMessageText и ERROR cErrorText подавляется. Можно написать специальную программу выдачи сообщений об оши ках, включив ее в состав пользовательской функции, вызываемой предложением VALID.

fox90000.gif Если значение nExpression2 положительно, оно указывает количество элементов управления, на которое сле ует продвинуться. Например, если выбрано поле ввода значения и VALID возвращает 1, активизируется следующий элемент управления. Если значение nExpression2 больше числа оставшихся элементов управления, команда READ прекращается (если только не выполнена команда READ CYCLE, активизирующая элементы управления).

fox90000.gif Если значение nExpression2 отрицательно, оно задает количество элементов управления, на которое нужно ве нуться. Например, если выбрано поле ввода значения и VALID возвращает fox90002.gif1, активизируется предыдущий элемент управления. Если nExpression2 задает возврат далее первого элемента управления, команда READ прекращается (если только не выдана команда READ CYCLE, активизирующая элементы управления).

ERROR cErrorText

Задает пользовательское сообщение об ошибке, которое выдается, когда значением выражения в предложении VALID оказывается "ложь" (.F.). Текст cErrorText появляется вместо стандартного сообщения об ошибке.

WHEN lExpression2

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

COLOR SCHEME nSchemeNumber

Задает цвета поля ввода значения. Если не задано предложение COLOR, цвета поля будут определяться цветовой схемой основного окна Visual FoxPro; если поле вво а значения предназначено для пользовательского окна, то его цвета определяются цветовой схемой этого окна.

COLOR ColorPairList

Задает цвета поля ввода значения. Если не задано предложение COLOR, цвета поля будут определяться цветовой схемой основного окна Visual FoxPro; если поле вво а значения предназначено для пользовательского окна, то его цвета определяются цветовой схемой этого окна.

На цвет поля влияют только цветовые пары 2, 5, 6 и 10 цветовой схемы или списка цветовых пар.

Номер цветовой пары
Атрибут поля
2
Поле ввода
5
Сообщение
6
Поле выделено
10
Поле недоступно


Подробнее о цветовых схемах и цветовых парах см. Использование цветов.

Комментарии

В Visual FoxPro поле ввода значения создается с помощью конструктора форм или DEFINE CLASS. Подробнее о совместимости с элементами управления предыдущих версий FoxPro 2.x см. Элементы управления и объекты.

Подробнее о добавлении элементов управления к форме см. главу 9 "Создание фо м" Руководства разработчика и Добавление объекта в контейнерный класс.

Допустима только в Visual FoxPro и FoxPro для Macintosh.

В FoxPro для MS-DOS синтаксис поля ввода значения предусматривает создание чис ового текстового поля. В него нужно ввести значение с клавиатуры. Величина при ащения (nChangevalue), нижнее и верхнее граничные значения (nMinValue и nMaxValue), а также предложения FONT и STYLE игнорируются.



Новое на сайте

  • Обновлен портфель программиста

    Добавлены: Установка HTML Help (Создание справочной системы), Imagedit.zip - Графический редактор ( ico и bmp), Библиотека локализации HTML Help (Русский)
  • Новые примеры программ

    Установка библиотек, Игровая программа "Охота на лис", Установка библиотек "Охота на лис", plastic -"Платежки", Библиотеки (на FPD26), platan -"Платежки" (на Clipper 5.2)
  • Обновленна справка

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