Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема_2_6_FoxВводВывод2.doc
Скачиваний:
6
Добавлен:
05.05.2019
Размер:
95.74 Кб
Скачать

4) Команда вывода ?/??

Эта команда является самой простой, но во многих случаях - самой удобной командой вывода:

• ?/?? [<выр1> [PICTURE <вырС1>] [FUNCTION <вырС2>]]

[AT <BыpN>] [,<выр2> ...] Опции команды:

PICTURE/FUNCTION применяются для задания шаблонов и кодов управления выводом, которые перечислены при описании команды @... SAY.. .GET. Здесь введен дополнительный форматный код V<n>. Он организует вывод выражения в несколько строк с ограничением числа позиций по горизонтали <n> столбцами. Если значение <n> меньше длины слова, последнее "ломается" у правой границы, если нет - слова переносятся целиком. Этот код особенно удобен для вывода мемо-полей. При определении форматных функций в <вырС2> знак "@" не нужен.

AT - номер столбца <BыpN>, с которого должен начинаться вывод.

Команда ? выводит результаты выражений с новой строки, а ?? осуществляет выдачу данных на текущей строке в текущей колонке экрана.

Примеры:

? 'ВЕС =',3*2+0.5 && ВЕС = 6.50

?? 'килограмм' && ВЕС = 6.50 килограмм

? 1/3 PICTURE('#.##') AT 4 && 0.33 (с 4-й позиции)

? 'Оля' FUNCTION ‘V1' AT 25, 'Покровская' FUNCTION 'V4' AT 34

О Покр

л овск

я ая

Имя (Оля) выведено в одну колонку в 25-й позиции, фамилия (Покровская) в четыре колонки с 34-й позиции.

Используя значение функции 1I для каждой из переменных, включенных в команды ?/??, легко организовать вертикальный вывод слов, причем следующая команда ? осуществит вывод ниже самого нижнего символа, выданного предыдущей командой. Это очень полезно при печати широких таблиц - заголовки колонок можно выводить в несколько строк.

При выводе элементы данных, перечисленные в команде ?/??, будут отделены друг от друга одним пробелом. Если этого нужно избежать, можно применить команду

• SET SPACE OFF

По умолчанию SET SPACE ON.

Перенаправление вывода информации осуществляется командами

• SET PRINTER ON/OFF

Установка команды SET PRINTER ON вызывает направление данных на принтер,. SET PRINTER OFF - отмену (эта форма команды действует по умолчанию).

Данные можно направить и в другое место, используя команду

• SET PRINTER TO [<файл> [ADDITIVE]/<порт>]

В частности, можно направить выдачу в указанный <файл>. Никакое расширение имени файла по умолчанию не подразумевается. При этом, если включено слово ADDITIVE и файл с таким именем уже существует, информация будет добавлена в конец файла. Если нет - файл будет переписан.

В качестве портов вывода можно указать любой из параллельных (LPT1, LPT2 или LPT3) или последовательных портов (СОМ1 или COM2). По умолчанию подразумевается <порт> - PRN, т.е. принтер.

Пример. Вывод данных в файл S.TXT.

SET PRINTER ON && Разрешение вывода

SET PRINTER TO s. txt && Назначение файла вывода S.ТХТ

? <генерация данных>

SET PRINTER TO && Закрытие файла

SET PRINTER OFF && Запрещение вывода

Команда вывода text

Структура

• TEXT

<сообщения>

ENDTEXT

удобна для вывода значительных объемов текста, который выдается на экран/принтер (командой SET PRINTER ON) без всяких изменений <сообщений>, которые могут состоять из нескольких строк (например, сложные заголовки таблиц).

Команда вывода \

Команда

• \ и \\ <строка текста>

выводит <строки текста>. Команда \ после вывода строки осуществляет переход в начало следующей строки, а команда \\ - нет. Команды похожи на команды ? и ??, но в некоторых отношениях они отличаются. <Строки> не нужно заключать в апострофы/кавычки. Среди текста выводимых данных могут содержаться также и выражения, которые окружаются разделителями « и ». При выводе эти выражения вычисляются.