Изменяя значения можно управлять таблицей и заполнять данными из собственных программных модулей

Как это делается можно посмотреть в файле редактора таблиц 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.

Имейте в виду, что после перерасчета таблицы информация о выбранных ячейках сбрасывается как в электронных таблицах.