Структура данных объекта LABPP_Table (для программистов)
Изменяя значения можно управлять таблицей и заполнять данными из собственных программных модулей
Как это делается можно посмотреть в файле редактора таблиц LABPP_Table_unicode.cpp.
TS_Cells_poscode - коды содержимого в ячейках таблицы.
Массив текстовый 500х100
Код показывает информацию о содержимом ячейки.
Первые 4 символа отвечают за наличие раздела ячейки с каждой из 4-х сторон.
LTRB - означает, что все границы есть.
Если стоит _ на какой-то позиции, значит ячейка объединена по этой стороне.
У смежной ячейки должен такой же символ присутствовать по стороне сопряжений.
Например, если две ячейки с индексами [2][1] и [3][1] (в 1-й колонке в строке 2 и 3) объединены, то у верхней будет:
LTR_ а у нижней L_RB.
Позиция 5 отвечает за направление текста.
Пробел - горизонтально.
'a' - текст првернут на 90 градусов.
Позиция 6 отвечает за стиль текста в ячейке.
't', 'h', 's', 'n' - стиль названия таблицы, заголовка, подзаголовка или обычный текст.
7-я позиция - код формата 0-текст, 1 - целое, 2 - число с 1 знаком, 3 - число с 2 знаками.
8-я позиция - l/m/f/r выравнивание по горизонтали влево/по центру/вправо/по ширине
9-я позиция - t/m/b - выравнивание по вертикали вверх/посредине/вниз
Позиции 10,11,12,13 - тип линий в ячейке - лев/верх/прав/низ -> 0/1/2 - нет/жирная/тонкая
по умолчанию
LTRB n0mm1111
TS_Cells_value - значения в ячейках.
Массив текстовый 500х100
TS_Cells_macro - коды для отрисовки макросов в ячейках таблицы
Массив текстовый 500х100
TS_ColumnsUsedCount - число колонок в таблице.
TS_RowsUsedCount - число строк в таблице.
TS_RowsH - массив высот колонок.
TS_ColumnsW - массив ширин колонок.
TS_ShowSelection - показывать или нет выбор ячеек.
После изменения данных необходимо присвоить переменной TS_DoRecalcAll значение 1.
При этом элемент таблицы пересчитает служебные переменные.
Из следующих служебных переменных можно получить реальную картину элемента LABPP_Table на текущий момент.
TS_RealCells - реальная рассчитанная картина всех ячеек
Массив типа линейная длина N x 17.
Таблица плоская, значения для ячеек идут друг за другом слева направа сверху вниз.
Т.е. первые 17 элементов - первая строка таблицы, вторые 17 элементов - вторая строка таблицы и т.д. по числу задействованных ячеек.
Назначение позиций
1 - SX
2 - SY
3 - EX
4 - EY
5 - I - номер колонки
6 - J - номер строки
7 - стартовая позиция текста
8 - конечная позиция текста
9 - левая граница нет/да
10 - верхняя граница нет/да
11 - правая граница нет/да
12 - нижняя граница нет/да
13 - кол-во позиций вниз совмещено
14 - кол-во позиций вправо совмещено
15 - самый левый нет/да
16 - самый верхний нет/да
17 - selected
TS_RealCellsSelected - массив выбранных ячеек.
Рассчитывается по 17-й позиции из TS_RealCells
Чтобы задать выбранные ячейки - надо установить 17-ую позицию у соответствующих элементов ячеек в поле TS_RealCells.
Имейте в виду, что после перерасчета таблицы информация о выбранных ячейках сбрасывается как в электронных таблицах.