• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Посчитать размер Richtext'a

  • Автор темы Omh
  • Дата начала
O

Omh

Добрый!

Проблема в следующем:
В доке есть RichText для лога.
Как известно, если RT перерастает 30 килобайт, он начинает дублировать item'ы в документе с одним и тем же именем и заполненой пропертей
Код:
Dup Item ID:

Я хочу получить размер этого лога.
Для таких ричтекстов, Item.ValueLength возвращает размер только первого item'a. Т.е. всегда что-то около 30 килобайт.
Перебор
Код:
forall x in doc.Items
тоже возвращает один айтем с тем же результатом (~30 kb).

Кто-то знает способ получить правильный размер ричтекста размазанного по документу?
Шпасибо!
--------------------------
Слегка поэксперементировал.
Код:
Len(RichTextItem.Text)
даёт что-то похожее на правду (приблизительно, но лучше, чем 30-ки везде)
 
A

Akupaka

дурной способ - убить все, кроме нужного итема и померять размер дока?..

либо наоборот, скопировать все итемы в новый док, потом
померять размер нужного 1-го итема, удалить итем
померять размер нужного 1-го итема, удалить итем
и так пока итем в доке есть...
 
O

Omh

У меня не аттачи.
Форматированный текст + линки.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Я копировал ричтекст в новый документ(NotesItem.CopyItemToDocument) и смотрел размер документа(NotesDocument.Size).
Можно посчитать размер всех остальных полей и вычесть его из размера документа. Это если других ричтекстовых полей нет. :(
 
O

Omh

Можно посчитать размер всех остальных полей и вычесть его из размера документа. Это если других ричтекстовых полей нет.
Я сначала именно так и попёр.
Потом смотрю, цифры в космос улетели :)
Дошло почему :)

Спасибо за идеи.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!