Команда @ ... GET - поля текста
См. также
Синтаксис
@ nRow, nColumn
Параметры
@ nRow, nColumn
Задает позицию текстового поля.
Строки нумеруются сверху вниз. Первая строка имеет номер 0 в основном окне
Visual FoxPro или в окне, определенном пользователем.
В Visual FoxPro строка 0 это строка, расположенная непосредственно под системной строкой меню Visual
FoxPro.
В FoxPro для Macintosh строка 0 это строка, расположенная непосредственно под строкой заголовка FoxPro.
В FoxPro для MS-DOS строка 0 это строка, которую занимает системная строка меню FoxPro. О том, как, манипу
ируя системной строкой меню, размещать в FoxPro для MS-DOS текстовые поля в ст
оке 0, см. SET SYSMENU.
Столбцы нумеруются слева направо. Первый столбец имеет номер 0 в основном окне
Visual FoxPro или пользовательском окне.
Когда текстовое поле помещается в пользовательское окно, его координаты по ст
окам и столбцам берутся относительно этого пользовательского окна, а не основ
ого окна Visual FoxPro.
В Visual FoxPro и FoxPro для Macintosh позиция в основном окне Visual FoxPro и
и в пользовательском окне определяется шрифтом этого окна. Большинство шрифтов
допускают множество вариантов с различными размерами, а некоторые из них имеют
пропорциональные промежутки. Номер строки зависит от высоты текущего шрифта, а
номер столбца от средней ширины буквы в текущем шрифте.
В Visual FoxPro и FoxPro для Macintosh позицию текстового поля в окне можно за
авать дробными значениями координат по строкам и столбцам.
В FoxPro для MS-DOS десятичные дробные значения, используемые в качестве коор
инат по строкам и столбцам, округляются до ближайшего целого числа.
GET MemVarName | FieldName
Задает переменную памяти, элемент массива или поле, для которых команда @...
GET создает текстовое поле.
Совет Редактировать memo-поля лучше с помощью команды @... EDIT, а не @... GET.
Команда @... EDIT создает окно редактирования текста с полосой прокрутки, и при в
даче команды @... EDIT отображается содержимое memo-поля.
FUNCTION cFormatCodes | PICTURE cFormatCodes
Задает функциональный код или код шаблона, который определяет, в каком виде со
ержимое текстового поля будет отображаться на дисплее или на печати. Для созда
ия маски редактирования можно включить предложение FUNCTION, предложение
PICTURE или оба эти предложения. Они содержат специальные коды, которые управляют
отображением и редактированием переменной памяти, элемента массива или поля.
Коды FUNCTION могут быть включены в предложение PICTURE. В этом случае пред
ожение PICTURE должно начинаться с символа @. Кроме него предложение PICTURE
может содержать коды FUNCTION, коды PICTURE или те и другие. Поскольку предложение
FUNCTION влияет на все выражение, оно может содержать только коды FUNCTION.
GET MemVarName | FieldName
[FUNCTION cFormatCodes]
[PICTURE cFormatCodes]
[NAME ObjectName]
[FONT cFontName [, nFontSize]]
[STYLE cFontStyle]
[DEFAULT Expression]
[ENABLE | DISABLE]
[MESSAGE cMessageText]
[[OPEN] WINDOW WindowName]
[RANGE [LowerBound] [, UpperBound]]
[SIZE nHeight, nWidth]
[VALID lExpression1 | nExpression [ERROR cErrorText]]
[WHEN lExpression2]
[COLOR SCHEME nSchemeNumber
| COLOR ColorPairList]
Код FUNCTION
| Назначение
|
A
| Разрешает использовать только буквенные символы (без пробелов и знаков препина
ия).
|
B
| Выравнивает данные влево в текстовом поле.
|
D
| Задает использование текущего формата даты согласно установке SET DATE.
|
E
| Редактирует даты как даты типа BRITISH.
|
I
| Центрирует текст в текстовом поле.
|
J
| Выравнивает данные вправо в текстовом поле.
|
K
| Выделяет все текстовое поле целиком, когда в него переходит курсор.
|
L
| Отображает в текстовом поле начальные нули (вместо пробелов). Используется то
ько для числовых данных.
|
MList
| Создает список предварительно подготовленных элементов на выбор. List представляет собой совокупность элементов, перечисленных через запятую. Внут
и любого отдельного элемента списка нельзя использовать запятые. Если перемен
ая памяти MemVarName или поле FieldName первоначально при выдаче команды READ не содержали какого-либо элемента из
того списка, то отображается первый элемент списка. Чтобы пролистать список,
ажимайте клавишу Spacebar или введите первую букву элемента. Чтобы выбрать один
из элементов списка и перейти к следующему элементу управления, нажмите клавишу Enter. Используется только для символьных данных.
|
R
| Отображает в текстовом поле символы маски формата. Символы этой маски не сохра
яются в текстовом поле при выходе из него. Используется только для символьных
или числовых данных.
|
Sn
| Ограничивает размер текстового поля n символами. Вы можете прокручивать содержимое области с помощью клавиш управле
ия курсором. Используется только для символьных данных.
|
T
| Отбрасывает начальные и конечные пробелы в переменной памяти MemVarName или поле FieldName.
|
Z
| Отображает переменную памяти MemVarName или поле FieldName в виде пробелов, если их числовое значение равно 0. Используется только для
числовых данных.
|
!
| Переводит строчные буквы в верхний регистр. Используется только для символьных
данных.
|
^
| Отображает числовые данные в экспоненциальном представлении. Используется то
ько для числовых данных.
|
$
| Отображает перед числовыми данными символ денежной единицы. Используется то
ько для числовых данных.
|
Код PICTURE
| Назначение
|
A
| Разрешает ввод только алфавитных символов.
|
L
| Разрешает ввод только логических данных.
|
N
| Разрешает ввод только букв и цифр.
|
X
| Разрешает ввод любых символов.
|
Y
| Разрешает в качестве эквивалентов логических значений "истина" (.T.) и "ложь"
(.F.) вводить соответственно Y, y, N и n.
|
9
| Разрешает вводить в символьных данных любые цифры. Разрешает вводить в числов
х данных цифры и знаки.
|
#
| Разрешает ввод цифр, пробелов и знаков.
|
!
| Преобразует строчные буквы в прописные.
|
$
| Отображает текущий символ денежной единицы, заданный установкой SET CURRENCY.
По умолчанию этот символ ставится непосредственно перед числовым значением или
после него. Однако символ денежной единицы и его позицию (заданные установкой
SET CURRENCY), а также символ-разделитель (заданный установкой SET SEPARATOR) и
символ десятичного разделителя (заданный установкой SET POINT) можно изменить.
Используется только с числовыми данными.
|
*
| Отображает звездочки впереди числового значения. Используйте вместе со знаком
оллара ($) для защиты чеков.
|
.
| Точка задает позицию десятичного разделителя.
|
,
| Запятая используется для разделения групп цифр слева от десятичного разделите
я.
|
Допустимо только в Visual FoxPro.
Создает ссылку на текстовое поле как на объект, что позволяет манипулировать тим текстовым полем, используя объектно-ориентированные свойства элемента управ ения TextBox. Подробнее о манипулировании элементами управления FoxPro с помощью предложения NAME см. Элементы управления и объекты.
FONT cFontName [, nFontSize]
Допустимо только в Visual FoxPro и FoxPro для Macintosh.
Задает шрифт для текстового поля и размер шрифта. cFontName задает имя шрифта, а nFontSize его размер в пунктах.
В качестве примера рассмотрим следующую небольшую программу, отображающую поле CONTACT для редактирования. В Visual FoxPro и FoxPro для Macintosh текст этого текстового поля отображается с помощью 12-пунктового шрифта Courier:
CLOSE DATABASES
USE customer
DO CASE
CASE _WINDOWS OR _MAC
@ 2, 2 GET contact FONT 'Courier',12
OTHERWISE
@ 2, 2 GET contact
ENDCASE
READ
Если предложение FONT опущено и текстовое поле размещается в основном окне Visual FoxPro, используется шрифт основного окна Visual FoxPro. Если предложение FONT опущено и текстовое поле размещается в пользовательском окне, используется шрифт этого пользовательского окна.
Если вы задали предложение FONT, опустив размер шрифта cFontSize, используется размер 10 пунктов.
Если в Visual FoxPro заданный шрифт отсутствует, его заменяет шрифт с похожими характеристиками.
Если в FoxPro для Macintosh заданный шрифт отсутствует, используется шрифт Chicago.
В FoxPro для MS-DOS предложение FONT игнорируется.
STYLE cFontStyle
Допустимо только в Visual FoxPro и FoxPro для Macintosh.
Задает стиль шрифта для текстового поля. Если предложение STYLE опущено, испо ьзуется стиль Normal (нормальный).
Если в Visual FoxPro заданный стиль шрифта отсутствует, его заменяет стиль с похожими характеристиками.
Если в FoxPro для Macintosh заданный стиль отсутствует, используется стиль Normal.
В 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 (Подчеркнутый)
|
Можно указать сразу несколько символов, задав комбинацию стилей. Например, сле ующая небольшая программа создает текстовое поле; в нем отображается соде жимое поля CONTACT полужирным курсивом (Bold Italic).
CLOSE DATABASES
CLEAR
USE customer
DO CASE
CASE _WINDOWS OR _MAC
@ 2, 2 GET contact STYLE 'BI'
OTHERWISE
@ 2, 2 GET contact
ENDCASE
READ
DEFAULT Expression1
Если вы задали для текстового поля несуществующую переменную памяти, она будет автоматически создана и проинициализирована при условии, что включено предложе ие DEFAULT. Однако если в предложении DEFAULT задать элемент массива, он не бу ет создаваться. Если переменная памяти уже существует или если вы задаете по е, предложение DEFAULT игнорируется.
Замечание Если предложение DEFAULT опущено и переменная памяти MemVarName не существует, Visual FoxPro сгенерирует сообщение об ошибке.
Выражение Expression1 определяет тип создаваемой переменной памяти и ее начальное значение.
ENABLE
Делает текстовое поле доступным. По умолчанию текстовые поля становятся доступ ыми при выдаче команды READ. Вы можете включить предложение ENABLE в программу для напоминания о том, что текстовым полем можно пользоваться.
DISABLE
Запрещает пользователю доступ к текстовому полю при выдаче команды READ. Не оступное текстовое поле изображается определенными для данного состояния цветами и не может быть выбрано.
Замечание Если в пользовательском окне все текстовые поля недоступны, окно не может оставаться на переднем плане. Если все текстовые поля в текущей команде READ опре елены как недоступные, выполнение команды READ прекращается.
MESSAGE cMessageText
Создает сообщение, которое выдается при выборе текстового поля.
В Visual FoxPro и FoxPro для Macintosh сообщение выводится в графической ст оке состояния. Если графическая строка состояния была отключена с помощью команды SET STATUS BAR OFF, сообщение располагается в последней строке основного окна Visual FoxPro.
В FoxPro для MS-DOS сообщение размещается в центре последней строки основного окна FoxPro и временно отменяет действие установки SET MESSAGE.
[OPEN] WINDOW WindowName
Предложение OPEN WINDOW
включено для совместимости с предыдущими версиями. Используйте вместо него команду @... EDIT.Позволяет редактировать memo-поле в пользовательском окне. Это пользовате ьское окно предварительно нужно создать с помощью команды DEFINE WINDOW.
При выдаче команды @... GET WINDOW отображается слово Memo.Если задано предложение OPEN, то при выдаче команды READ или READ CYCLE автоматически открывается окно редактирования memo-поля.
Совет Memo-поля лучше редактировать с помощью команды @... EDIT, а не @... GET. Команда @... EDIT создает текстовое поле с полосой прокрутки, и при выдаче команд @... EDIT отображается содержимое memo-поля.
RANGE [LowerBound] [, UpperBound]
Задает диапазон допустимых значений, которые пользователь может вводить в текстовом поле. Если в текстовое поле введено значение, не принадлежащее заданному иапазону, выдается сообщение, указывающее правильный диапазон. Чтобы отменить выдачу такого сообщения, используйте команду ON READERROR.
LowerBound задает нижнюю границу диапазона, а UpperBound верхнюю границу. В качестве LowerBound и UpperBound следует использовать выражения типов Date, DateTime, Character, Numeric, Float, Double или Currency, которые соответствуют типу данных в переменной памяти, лементе массива или поле. Можно опустить аргумент LowerBound или UpperBound, но не оба. Если какая-либо граница не указана, для введенных данных прове яется соблюдение только другой, заданной границы.
Замечание Если вы нажали клавишу
Enter, не изменив содержимого переменной памяти, элемента массива или поля, принад ежность диапазону не проверяется.
SIZE nHeight, nWidth
Задает высоту и ширину текстового поля. По умолчанию текстовое поле имеет в соту в одну строку. Размер области определяется длиной переменной памяти, элеме та массива или поля либо предложением PICTURE.
nHeight задает высоту текстового поля в строках, а nWidth его ширину в столбцах.
В Visual FoxPro и FoxPro для Macintosh размер текстового поля определяется ш ифтом текстового поля, который задан в предложении FONT. Если предложение FONT опущено, в текстовом поле используется шрифт его родительского окна (основного окна Visual FoxPro или пользовательского окна).
VALID lExpression1 | nExpression [ERROR cErrorText]
Проверяет достоверность пользовательского ввода. Когда пользователь пытается в йти из текстового поля, вычисляется выражение предложения VALID.
Предложение VALID значительно упрощает процедуру проверки достоверности данн х, если в нем задана пользовательская функция. Пользовательская функция, выз ваемая в предложении VALID команды @... GET, должна возвращать логическое или чис овое значение.
Замечание В отличие от предложения RANGE, предложение VALID всегда выполняется при в ходе из текстового поля, если только вы не нажали клавишу
Esc. Предложение RANGE выполняется только при внесении изменения в переменную памяти, элемент массива или поле.
lExpression1
Если вычисление выражения lExpression1 дает значение "истина" (.T.), данные в текстовом поле считаются корректными и происходит выход из текстового поля.
Если lExpression1 имеет значение "ложь" (.F.), данные в текстовом поле считаются некорректными и выдается сообщение, предлагающее пользователю заново ввести данные, нажав пе ед этим клавишу
пробел.Если программа проверки достоверности, активизируемая пользовательской фу кцией, замещает содержимое поля и затем возвращает значение "ложь", то содержимое поля замещается, но когда пользователь возвратится из пользовательской функции в текстовое поле, восстановится предыдущее значение поля.
nExpression
Определяет, какой элемент управления активизируется после того, как пользовате ь выходит из текстового поля. Сведения об элементах управления см. в Элементы управления и объекты. Числовое выражение nExpression определяет одну из следующих трех ситуаций.
Если значение nExpression равно 0, курсор остается в текстовом поле. Сообщения об ошибках MESSAGE cMessageText и ERROR cErrorText не выдаются. В состав пользовательской функции, вызываемой предложением VALID, можно включить специально составленную программу выдачи сообщений об ошибках.
Если программа проверки достоверности, активизируемая пользовательской фу кцией, замещает содержимое поля и возвращает 0, содержимое поля замещается, но ког а вы вернетесь в текстовое поле, восстановится предыдущее значение поля.
Если значение nExpression положительно, оно задает количество элементов управления, на которое следует сдвинуться. Например, если курсор устанавливается в текстовом поле и VALID возв ащает 1, активизируется следующий элемент управления. Если значение nExpression больше числа оставшихся элементов управления, команда READ прекращается (если только не выдана команда READ CYCLE, активизирующая элементы управления).
Если значение nExpression отрицательно, оно задает количество элементов управления, на которое нужно ве нуться. Например, если курсор устанавливается в текстовом поле и VALID возв ащает 1, активизируется предыдущий элемент управления. Если nExpression задает возврат далее первого элемента управления, команда READ прекращается (если только не выдана команда READ CYCLE, активизирующая элементы управления).
ERROR cErrorText
Задает текст сообщения об ошибке, которое должно выдаваться, когда выражение VALID имеет значение "ложь" (.F.). Visual FoxPro выдает сообщение cErrorText вместо используемого по умолчанию сообщения об ошибке.
WHEN lExpression2
Разрешает или запрещает доступ к текстовому полю, исходя из значения выражения lExpression2: оно должно быть "истиной" (.T.), чтобы текстовое поле было доступно. Если п едложение WHEN задано и выражение lExpression2 имеет значение "ложь" (.F.), доступ к текстовому полю невозможен и активизи уется следующий элемент управления.
COLOR SCHEME nSchemeNumber
Задает цвета для текстового поля. Если предложение COLOR SCHEME опущено, цвет текстового поля определяется цветовой схемой основного окна Visual FoxPro. Если текстовое поле предназначено для пользовательского окна, его цвет определяется цветовой схемой этого окна.
COLOR ColorPairList
Задает цвета для текстового поля. Цвет определяется только первой цветовой па ой в списке цветовых пар.
Цвета текстового поля определяются только цветовыми парами 2, 5, 6 и 10 цветовой схемы или списка цветовых пар.
Номер цветовой пары
| Атрибут текстового поля
|
2
| Текстовое поле
|
5
| Сообщение
|
6
| Выбранное текстовое поле
|
10
| Недоступное текстовое поле
|
Комментарии
В Visual FoxPro текстовые поля следует создавать с помощью конструктора форм или DEFINE CLASS. Подробнее о совместимости с элементами управления предыдущих версий FoxPro 2.x см. Элементы управления и объекты.
Подробнее о добавлении элементов управления к форме см. главу 9 "Создание фо м" Руководства разработчика и Добавление объекта в контейнерный класс.
Команда @... GET используется для создания текстового поля, отображающего соде жимое переменной памяти, элемента массива или поля. Для активизации текстовых полей используйте команду READ или READ CYCLE.
Можно объединить @... SAY и @... GET в одну команду. Если заданы оба предложе ия SAY и GET, укажите один набор координат nRow, nColumn, обозначающий позицию начала вывода @... SAY. Между выводом команды @... SAY и текстовым полем автоматически вставляется пробел.
Новое на сайте
-
Обновлен портфель программиста
Добавлены: Установка HTML Help (Создание справочной системы), Imagedit.zip - Графический редактор ( ico и bmp), Библиотека локализации HTML Help (Русский) -
Новые примеры программ
Установка библиотек, Игровая программа "Охота на лис", Установка библиотек "Охота на лис", plastic -"Платежки", Библиотеки (на FPD26), platan -"Платежки" (на Clipper 5.2) -
Обновленна справка
Подсказки, технология программирования и использование Visual FoxPro. Команды, функции, операторы, объекты, свойства, события и методы.