---
title: "Text - Создать строку текста в графическом документе"
type: guide
api: [api7]
tags: [guide, api7, text]
sources:
  - text.html
---

*API экспортных функций > Функции работы с графическим документом  > Простановка текстовых надписей  > Функции работы с текстовыми надписями и таблицами *


## Text - Создать строку текста в графическом документе

Пример...
Аналог данной функции при использовании Automation - метод ksDocument2D::ksText.
Синтаксис:
```
reference Text (double x,
double y,
double ang,
double hStr,
double ksuStr,
unsigned int bitVector,
char *s);
Входные параметры:
x, y    - координаты точки привязки текста,
ang    - угол наклона текста,
hStr    - высота символов,
ksuStr    - сужение текста,
bitVector    - битовый вектор, задающий признаки начертания текста,
s    - строка символов.
Признаки начертания текста...
Возвращаемое значение:
указатель на текст    - в случае удачного завершения,
0    - в случае неудачи.
```
Примечание:
1. Строка символов может включать спецсимвол. Например, чтобы задать 10 градусов, необходимо указать значение "10&01". Таблица спецсимволов размещена в файле SDK\NumbSymb.frw.
2. Не рекомендуется использовать в строке символы, которые могут идентифицироваться как управляющие символы: @ $ & ; ~ ^ #, кроме случаев, когда эти символы используются в строке именно как управляющие.
3. Использование управляющих символов:
– отклонение: $ верхнее отклонение; нижнее отклонение $
– дробь: $d числитель ; знаменатель $
– спецсимвол: &nn номер спецсимвола 0...99.
4. bitVector формируется с помощью логической операции |. Поддерживаются определения:
– ITALIC_ON (включить наклон),
– BOLD_ON (включить утолщение),
– UNDERLINE_ON (включить подчеркивание). См. ltdefine.h.
5. При использовании Unicode следует использовать функцию TextW.
6. При использовании внутри таблицы функция Text не возвращает указатель на текст— в случае успешного завершения возвращается 1.


## Функции работы с текстовыми надписями и таблицами

Функции данного раздела обеспечивают построение и обработку текстовых надписей (простых, сложноструктурированных, форматированных).
GetTextLength - Получить длину текста
GetTextLengthW - Получить длину текста (Unicode)
GetTextLengthFromReference - Получить длину текста, заданного указателем
ksConvertTextToCurve - Преобразовать указанный текст в кривые
ksEditTextLine - Вызвать диалог редактирования сложноструктурированного текста
ksEditTextLineW - Вызвать диалог редактирования сложноструктурированного текста (Unicode)
ksGetTextAlign - Получить тип привязки текста
ksSetTableColumnText - Задать текст ячейки таблицы
ksSetTextAlign - Установить тип привязки текста
ksSetTextLineAlign - Установить выравнивание текста
Paragraph - Начать параграф
Text - Создать строку текста в графическом документе
TextW - Создать строку текста в графическом документе (Unicode)
TextLine - Задать подстроку параграфа текста
TextLineW - Задать подстроку параграфа текста (Unicode)


## Text, TextLine, Paragraph - Пример использования

void Text_Example (void) {
reference p;
// Простой текст
Text (30 , 90, 0, 5, 1, 0, ”Простой текст”);
Text (30 , 80, 0, 5, 1, 0,”Пример... дроби$dЧислитель;Знаменатель$”);
Text (30 , 70, 0, 5, 1, 0, ”Пример... отклонений 20$0.5;-0.3$”);
Text (30 , 60, 0, 5, 1, 0, ”Пример... спецсимвола &32”);
// Структурированный текст
ParagraphParam par;
par.x = 30; par.y = 40; par.ang = 0;
par.hFormat = 0; par.vFormat = 0;
par.height = 25; par.width = 20;
int j=2;
p = Paragraph (&par);
TextLine (NEW_LINE ,0,0 , ”Первая строка”);
//числитель, наклон, высота дроби в 1.5 раза меньше высоты текста
TextLine (NUMERATOR|ITALIC_ON,FRACTION_TYPE ,&j , ”Числитель”);
//знаменатель, утолщение
TextLine (DENOMINATOR|BOLD_ON,0 ,0 , ”Знаменатель”);
//конец дроби, снятие утолщения,снятие наклона
TextLine (END_FRACTION|BOLD_OFF | ITALIC_OFF, 0, 0 , ”4444”);
TextLine (NEW_LINE ,0,0 , ”Вторая строка”);
int tip = 65;
//спецзнак шероховатость
TextLine (SPECIAL_SYMBOL ,SPECIAL, &tip , ”Rz80”);
//конец спецзнака
TextLine (SPECIAL_SYMBOL_END ,0, 0 , ”222”);
EndObj();
}; /* Text_Example */
