Программная настройка стиля текста в 4D Write Pro (4D v17 R5) - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь программно установить два стиля текста внутри также программно созданного документа 4D Write Pro, но последний набор стилей является единственным предполагаемым для всего документа.

Я создал новый 4DЗаписать документ Pro (wpDoc), создать диапазон для всего документа ($ range) и использовать «WP Set Attributes» для форматирования текста.

C_OBJECT(wpDoc;$range)
wpDoc:=WP New
$range:=WP Text range(wpDoc;wk start text;wk end text)

// Style 1
WP SET ATTRIBUTES($range;wk font;"DIN-Bold")
WP SET ATTRIBUTES($range;wk font size;"12pt")
WP SET TEXT($range;"Name: ";wk append)

// Style 2
WP SET ATTRIBUTES($range;wk font;"DIN-Regular")
WP SET ATTRIBUTES($range;wk font size;"10pt")
WP SET TEXT($range;[Companies]Name;wk append)

WP PRINT(wpDoc)

он должен выглядеть следующим образом:

Имя: Пример названия компании

, но оно выглядит следующим образом:

Имя (текст): Пример названия компании (текст)

1 Ответ

0 голосов
/ 10 октября 2019

Поскольку ваш диапазон увеличивается с добавляемым вами текстом, вам нужно изменить свой диапазон. Следующий код работал для меня.

Вы должны подтвердить, что ваш шрифт существует, иначе команда атрибутов не будет иметь никакого эффекта (СПИСОК ШРИФТОВ). Я переключился на шрифт, который, как я знаю, есть в моей системе.

'WP Text range' недопустим в используемой мной версии (возможно, у вас более старая версия. Я использую v17.3). Мой код использует 'WP Create range'.

C_OBJECT (wpDoc; $ range)

wpDoc: = WP New

$ range: = WP Создать диапазон (wpDoc; wkначальный текст; wk конечный текст)

// Стиль 1

WP SET TEXT ($ range; "Name:"; wk append)

WP SET ATTRIBUTES ($ range; wk font; "Book Antiqua Bold")

WP SET ATTRIBUTES ($ range; wk размер шрифта; "12pt")

// Стиль 2

$ range:= WP Создать диапазон (wpDoc; 7; конец текста wk)

WP SET TEXT ($ диапазон; [Компании] Имя; wk append)

WP SET ATTRIBUTES ($ range; wk font;"Book Antiqua")

УСТАНОВИТЬ ПРОСМОТР ПЕЧАТИ (True)

ПЕЧАТЬ WP (wpDoc)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...