Работа с объектом «Текст»
К числу команд работы с текстом можно отнести команды создания текста, редактирования текста и пр. Эти команды представлены данном разделе
Создание текста[править | править код]
Команда text имеет несколько вариантов, представленных ниже.
text <Str1>, <Str2>, …, <StrN> done [vcs] [snap <1>…<9>] [align] [style <Style>] <Point1> [normal <PointN>] <Point2>
Команда создаёт объект типа «Текст», состоящий из строк <Str1>
, <Str2>
, …, <StrN>
и размещает его в точке <Point1>
по направлению к точке <Point2>
.
Ключ vcs
позволяет задать плоскость написания текста в экранной плоскости (видовой системе координат). Этот ключ нужен для размещения текста в интерактиве.
Ключ normal <PointN>
задаёт нормаль к плоскости, в которой будет расположен текст. При его отсутствии текст располагается в плоскости текущего вида. Ключ snap <1>…<9>
позволяет указать точку привязки текста согласно рисунку. По умолчанию остановлена привязка №1 – левый нижний угол текста.
Ключ align
позволяет выровнять текст по базовой линии. Без этого ключа базовая линия определяется по минимальному габариту текста. При использовании этого ключа базовая линия определяется по введенной строке. Это необходимо при наличии в строке текста «высоких» символов («q», «j», «Щ» и пр.).
Ключ style <Style>
позволяет определить стиль написания текста. Стиль определяется либо через диалоговое окно, либо последовательным заданием следующих параметров:
- Высота текста
- Отношение ширины к высоте (в процентах)
- Угол наклона шрифта в градусах
- Разрядка между символами (в процентах)
- Разрядка между строками (в процентах)
- Вертикальное расположение текста (да/нет)
- Фиксированный шаг текста (да/нет)
Пример:
text “Строчка1”, “Строчка2”, “Строчка3” done 100,0,0 10,0,0
text string [vcs] [snap <1>…<9>] [align] [style <Style>] <Point1> [normal <PointN>] <Point2>
Команда позволяет вводить одну строку текста в диалоговом окне, изображённом на рисунке.
text tedit [vcs] [snap <1>…<9>] [align] [style <Style>] <Point1> [normal <PointN>] <Point2>
Команда позволяет ввести несколько строк текста в простейшем текстовом редакторе.
text file <Filename> [vcs] [snap <1>…<9>] [align] [style <Style>] <Point1> [normal <PointN>] <Point2>
Команда позволяет создать объект типа «Текст» из текстового файла с кодировкой символов в формате ANSI с именем <Filename>
.
text oem <Filename> [vcs] [snap <1>…<9>] [style <Style>] <Point1> [normal <PointN>] <Point2>
Команда позволяет создать объект типа «Текст» из текстового файла с кодировкой символов в формате OEM с именем <Filename>
.
text attribute <Object> <Attr1>, <Attr2>, …, <AttrN> done [vcs] [snap <1>…<9>] [style <Style>] <Point1> [normal <PointN>] <Point2>
text attribute <Object> list [vcs] [snap <1>…<9>] [align] [style <Style>] <Point1> [normal <PointN>] <Point2>
Команда создаёт текст из атрибутов с именами <Attr1>
, <Attr2>
, …, <AttrN>
объекта <Object>
. Второй вариант синтаксиса команды (указан ключ list
) позволяет выбрать атрибуты при помощи диалогового окна.
text edit {text|style} <Object> [<Text>|<Style>]
Команда позволяет редактировать введённый текст <Object>
. Ключ text
позволяет редактировать содержимое текста <Text>
. Ключ style
позволяет редактировать стиль написания текста <Style>
. Ключи text
и style
запоминаются системой, и, если не указаны явно, используется последний выбранный ключ.
Пример:
// Редактирование содержимого текста text edit text Obj "Новый текст"; // Редактирование стиля текста text edit style Obj 100,0,0,10,0 no no;
Установка стиля текста[править | править код]
style
Команда style устанавливает стиль для вновь создаваемых объектов типа «Текст». Поскольку задание стиля текста осуществляется в диалоговом окне, использовать эту команду в макропрограммах неудобно.
theight <K>
Команда theight устанавливает высоту текста равной <K>
.
tscale <K>
Команда tscale устанавливает отношение ширины символа к высоте (в процентах) равным <K>
.
tangle <K>
Команда tangle устанавливает угол наклона символов шрифта (в градусах) равным <K>
.
tdchar <K>
Команда tdchar устанавливает разрядку между символами (в процентах) равную <K>
.
tdstring <K>
Команда tdstring устанавливает разрядку между строками (в процентах) равную <K>
.
tvertical yes|no
Команда tvertical устанавливает вертикальное (yes
), либо горизонтальное (no
) расположение текста.
tfixed yes|no
Команда tfixed устанавливает (yes
) или снимает (no
) фиксированный шаг текста.
Функции работы с текстом[править | править код]
GetTextInfo[править | править код]
INT GetTextInfo(OBJECT <Obj>, varname ARRAY <Info[8]>)
Функция заполняет массив <Info>
информацией об объекте <Obj>
типа «Текст» (см таблицу).
|
|
|
---|---|---|
|
Имя шрифта |
|
|
Высота символа |
|
|
Отношение ширины к высоте (в процентах) |
|
|
Угол наклона шрифта (в градусах) |
|
|
Разрядка между символами по горизонтали (в процентах) |
|
|
Разрядка между символами по вертикали (в процентах) |
|
|
Количество строк в объекте типа «Текст» |
|
|
Содержимое первой строки текста |
|
Функция возвращает количество заполненных элементов массива или -1 (минус единицу) в случае ошибки.
PutTextInfo[править | править код]
INT PutTextInfo(OBJECT <Obj>, variant ARRAY <Info[6]>)
Функция изменяет стиль текста в объекте <Obj>
типа «Текст» в соответствии с содержимым массива <Info>
:
|
|
|
---|---|---|
|
Имя шрифта |
|
|
Высота символа |
|
|
Отношение ширины к высоте (в процентах) |
|
|
Угол наклона шрифта (в градусах) |
|
|
Разрядка между символами по горизонтали (в процентах) |
|
|
Разрядка между символами по вертикали (в процентах) |
|
Функция возвращает: количество установленных параметров от одного до шести в зависимости от размерности массива либо отрицательное число в случае ошибки
-1 — Задан объект не текст
-2 — Чужой файл со шрифтом
-3 — Файл со шрифтом не читается
-4 — Мало памяти при загрузке файла со шрифтом
-5 — Пустой шрифт
-6 — Слишком большой шрифт
-7 — Файла со шрифтом не существует
-8 - Мало виртуальной памяти при загрузке файла со шрифтом
INT GetTextLine(OBJECT <Obj>, string ARRAY <Info>)
Функция заполняет массив <Info>
построчно текстом, содержащемся в объекте <Obj>
типа «Текст». Функция возвращает количество заполненных элементов массива или -1 (минус единицу) в случае ошибки
GetRectText[править | править код]
INT GetRectText(VARIANT <Text>, VARNAME <Leght>, VARImane <Height>[, INT <iBeg>[, INT <Num>]])
Функция вычисляет размеры (длину и высоту в мм) прямоугольника текста (в ЛСК текста) с учетом текущего и общего графических коэффициентов и заносит их в переменные <Leght>
и <Height>
соответственно. Функция возвращает количество строк проанализированного текста.
Входные параметры:
<Text>
— строка или массив строк:
<iBeg>
— индекс первого элемента (нумерация начинается с единицы) в массиве строк <Text>
. Если параметр <iBeg>
не задан, то анализируются все элементы массива <Text>
.
<Num>
— количество анализируемых элементов в массиве строк, начиная с <iBeg>
. Если <Num>
не задан, то анализируются все строки массива <Text>
, начиная с <iBeg>
.
Пример:
tex="К3 - лучшая программма"; len=0; hei=0; =getrecttext(tex,len,hei); 1 =len; 101.667 =hei; 6.667
INT GetRectText(OBJECT <Obj>, double ARRAY <Arr>)
Функция вычисляет координаты в ГСК 3-х вершин прямоугольника текста в объектах типа текст, размер, выноска с примечанием с учетом текущего и общего граф.коэффициентов и заполняет ими массив <Arr>
. Функция возвращает количество заполненных элементов массива.
Входные параметры:
<Obj>
— объект
<Arr>
— массив размерностью не менее 9-ти элементов.
Элементы массива:
<Arr>[1..3]
— координата в ГСК левого нижнего угла прямоугольника текста объекта
<Arr>[4..6]
— координата в ГСК правого нижнего угла прямоугольника текста объекта
<Arr>[7..9]
— координата в ГСК левого верхнего угла прямоугольника текста объекта
Изменение ориентации текста[править | править код]
OrientByView <Objects>
Команда OrientByView ориентирует объекты <Objects>
(это моежт быть либо текст, либо полочка-выноска) таким образом, чтобы они были расположены в экранной плоскости (в видовой системе координат текущего вида)
Работа со шрифтом[править | править код]
font <FileName>
Команда font загружает с диска файл с именем <FileName>
с описанием шрифтов.