Вычисляет выражения и выводит результаты.
Синтаксис
? | ?? 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'