Команда ? | ??

Вычисляет выражения и выводит результаты.

Синтаксис

? | ?? Expression1
	[PICTURE cFormatCodes] | [FUNCTION cFormatCodes] | [VnWidth]
	[AT nColumn]
	[FONT cFontName [, nFontSize] [STYLE cFontStyle | Expression2]]
	[, Expression3] ... 

Параметры
? Expression1
Вычисляет выражение, заданное аргументом Expression1, и выводит результаты, ставя перед ними возврат каретки и перевод строки. Результаты отображаются в следующей строке основного окна Visual FoxPro или активного окна, определенного пользователем, и печатаются у левого поля страницы, если только код функции шаблона cFormatCodes или системная переменная памяти _ALIGNMENT не задают иной порядок.
Если выражения опущены, выводится или печатается пустая строка. Если задано несколько выражений, между их результатами ставится пробел.
?? Expression1
Вычисляет выражение, заданное аргументом Expression1, и отображает полученные результаты в текущей строке и в текущей позиции основного окна Visual FoxPro, активного пользовательского окна или принтера. Перед результатами не выдается возврат каретки с переводом строки.
PICTURE cFormatCodes
Задает формат шаблона, в котором должен отображаться результат выражения Expression1. Среди cFormatCodes могут быть как функциональные коды, так и коды шаблонов. Можно использовать одинаковые коды шаблонов и функциональные коды, определенные командой @ ... SAY. Список этих кодов см. в описании команды @ ... SAY.
Функциональные коды определяют общий формат результата, а коды шаблонов воздействуют на отдельные символы в результате. Если среди cFormatCodes заданы функциональные коды, они должны идти до кодов шаблонов и сопровождаться префиксом @. Непосредственно после символа @ можно ввести несколько функциональных кодов без внутренних пробелов. После последнего функционального кода должен стоять один или несколько пробелов, сигнализирующих о конце последовательности функциональных кодов и о начале кодов шаблонов.
FUNCTION cFormatCodes
Задает функциональный код, который следует включить в вывод команд ? и ??. Если данное предложение указано, перед функциональными кодами не нужно ставить символ @. Функциональные коды должны сопровождаться префиксом @ только в том случае, когда они включаются в предложение PICTURE.
VnWidth
Задает специальный функциональный код, с помощью которого результаты символьного выражения можно растягивать по вертикали в определенном числе столбцов. Количество столбцов в выводе задает аргумент nWidth.

? 'This is an example of how the V function code works.' ;
	FUNCTION 'V10'

AT nColumn
Задает номер столбца, в котором будет выведен результат. Данная опция позволяет выравнивать вывод по столбцам, чтобы получилась таблица. В качестве числового выражения nColumn может быть указана определенная пользователем функция, которая возвращает числовое значение.
FONT cFontName [, nFontSize]
Допустимо только в Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh.
Задает шрифт для вывода команд ? | ??. Аргумент cFontName определяет название шрифта, а nFontSize его размер в пунктах. Например, приведенная ниже команда задает вывод на экран системной даты шрифтом Courier размером 16 пунктов:

? DATE( ) FONT 'Courier',16 

Если указано предложение FONT без аргумента nFontSize, используется шрифт размером в 10 пунктов.
Если предложение FONT опущено, а вывод команд ? | ?? направлен в основное окно Visual FoxPro, используется шрифт данного окна. Если предложение FONT опущено, а вывод команд ? | ?? направлен в окно, определенное пользователем, для вывода применяется шрифт этого пользовательского окна.
STYLE cFontStyle
Допустимо только в Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh.
Задает стиль шрифта для вывода команд ? | ??. Если предложение STYLE опущено, используется стиль Normal.
Если в Visual FoxPro и FoxPro для Windows заданный стиль шрифта отсутствует, его заменяет стиль с похожими характеристиками.
Если в FoxPro для Macintosh заданный стиль шрифта отсутствует, используется стиль шрифта Normal.
В FoxPro для MS-DOS предложение STYLE игнорируется.
Замечание Если вы определяете стиль шрифта с помощью предложения STYLE, обязательно должно быть включено предложение FONT.
В качестве cFontStyle можно указывать следующие стили шрифтов:
Если в Visual FoxPro и FoxPro для Windows заданный шрифт отсутствует, его заменяет шрифт с похожими характеристиками.
Если в FoxPro для Macintosh заданный шрифт отсутствует, используется шрифт Chicago.
В FoxPro для MS-DOS предложение FONT игнорируется

Символ		Стиль шрифта
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 (Подчеркнутый)

Можно задать комбинацию стилей, указав несколько символов. Например, приведенная ниже команда отображает на экране системную дату шрифтом Courier Bold Italic:

? DATE( ) FONT 'COURIER' STYLE 'BI'

STYLE Expression2
Допустимо только в FoxPro для MS-DOS.
Задает стиль и размер шрифта для вывода результатов команд ? и ?? на принтер. Выражение Expression2, включенное в предложение STYLE, передается в три процедуры текущего программного драйвера FoxPro PDOBJST, PDOBJECT и PDOBJEND. Эти процедуры определяют, как будет печататься вывод команд ? и ??. Предложение STYLE игнорируется, когда вывод команд ? и ?? направляется в основное окно FoxPro или в окно, определенное пользователем.

Комментарии
Команды ? и ?? вычисляют выражения и посылают результаты в основное окно Visual FoxPro, в активное окно, определенное пользователем, или на принтер.
Если командой SET PRINTER установлено значение ON, результаты выражения направляются на принтер и одновременно в основное окно Visual FoxPro или в активное пользовательское окно. Если заданы установки SET PRINTER ON и SET CONSOLE OFF, результаты направляются только на принтер.

Пример

? 15 * (10+10)
? 'Welcome to ' PICTURE '@!'
?? 'Visual FoxPro'

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.