Построение таблицы в LibeOffice

Автор Massaraksh7, 12 октября 2024, 01:49

0 Пользователи и 2 гостей просматривают эту тему.

Massaraksh7

Цитата: mikekaganski от 13 октября 2024, 17:12Если Вы не будете раскомментировать в Вашем коде строку с OuterLineWidth, а только раскомментируете IsBottomLineValid, то всё будет работать.
Нет, не работает.

Massaraksh7

Цитата: mikekaganski от 13 октября 2024, 17:14Как говорится, "рукалицо". О чём речь? С чего это требуется? Без конкретного кода вообще ничего обсуждать нельзя.
Ну, не надо сразу в штыки. Таких багов много. Большинство их я не выносил сюда, если получалось их как-то обойти.
Но, в данном случае, если интересно, то будет код.

mikekaganski

Цитата: Massaraksh7 от 13 октября 2024, 17:47Нет, не работает
Вы показываете не на том файле, который Вы прикрепили.
С уважением,
Михаил Каганский

Massaraksh7

Именно на том. Другого я не делал.

Massaraksh7

Ну, давайте ещё раз его прикреплю.

mikekaganski

Вот возьмите, скачайте сами из Вашего сообщения на предыдущей странице, и сравните.
С уважением,
Михаил Каганский

Massaraksh7

Ну, скачал. Ну, чуть изменился LBorder. Но все эффекты те же остались. Ну, вот на скачанном видео записываю.

mikekaganski

Так. В Вашем файле из #7 нижняя жирная линия устанавливается на B5:F5. И не изменяя Ваш файл, кроме раскомментирования строки с IsBottomLineValid, всё работает.

Структура TableBorder определяет все границы диапазона, и содержит семь (!) свойств, которые можно установить все сразу либо по частям. Для того чтобы задать, какие из них устанавливаются, служат соответствующие семь булевых полей.

Свойства BottomLine и LeftLine - структура BorderLine. Она, в свою очередь, определяет вид одной границы, которая состоит из одной или двух параллельных линий, разделённых пробелом.

Так вот: если пробела между линиями нет, но при этом обе линии ненулевые, то это воспринимается как ошибка. Именно поэтому надо выставлять вторую линию в ноль, если изначально Вы не знаете, сколько там, и не проверяете этого. А она не ноль.

И все свойства Is*Valid надо по-хорошему выставлять явно, чтобы чётко задавать, какие конкретно линии задаются.
С уважением,
Михаил Каганский

Massaraksh7

Цитата: mikekaganski от 13 октября 2024, 18:26Так вот: если пробела между линиями нет, но при этом обе линии ненулевые, то это воспринимается как ошибка.
Замечательно. А теперь покажите мне, где это написано в документации.

mikekaganski

Цитата: Massaraksh7 от 13 октября 2024, 18:32А теперь покажите мне, где это написано в документации
Вы утверждаете, что я где-то писал, что документация идеальна? И вообще это выглядит багом.
С уважением,
Михаил Каганский

Massaraksh7

Цитата: mikekaganski от 13 октября 2024, 18:33И вообще это выглядит багом.
Если бы это было описано, это бы не было багом.
Цитата: mikekaganski от 13 октября 2024, 18:33Вы утверждаете, что я где-то писал, что документация идеальна?
Нет, но когда я попытался намекнуть на то же самое, Вы дали мне отповедь.

mikekaganski

Цитата: Massaraksh7 от 13 октября 2024, 18:41когда я попытался намекнуть на то же самое, Вы дали мне отповедь

"Документация неидеальна" - не то же самое, что "нет нормальной документации". Идеальной документации нет нигде - документация Microsoft, Apple, чья угодно - пестрит пробелами и ошибками. Я писал множество сообщений об ошибках в них, и тем не менее я не утверждаю, что нет нормальной документации по ним. Да и кроме того, Ваше утверждение попросту грубо обнуляет всю работу, которую волонтёры делали и продолжают делать.

А документировать баги, чтобы они перестали быть багами - это уже за гранью.
С уважением,
Михаил Каганский

Massaraksh7

#27
Цитата: mikekaganski от 13 октября 2024, 18:52Ваше утверждение попросту грубо обнуляет всю работу, которую волонтёры делали и продолжают делать.
Нет, работа проделана огромная, я это, естественно, вижу и ценю. Иначе бы я не создал бы свой "мост" к LibreOffice. Не хватает примеров практического использования. Нет, они есть, их много, но они, к сожалению "размазаны" по разным форумам. А пригодились бы именно в разделе "tutorial" в документации.

mikekaganski

Тут даже большая проблема: похоже, Calc не понимает ничего сложнее простых одиночных линий: любое определение с ненулевым LineDistance, или с обеими InnerLineWidth и OuterLineWidth не обрабатываются. Это однозначно баг / отсутствующий функционал.
С уважением,
Михаил Каганский

sokol92

Цитата: Massaraksh7 от 13 октября 2024, 16:32Например, при записи вещественного значения в ячейку его надо указывать с разделителем по умолчанию. А при передаче массивом - только с "точкой" в качестве разделителя.
Добрый день, коллеги!
Пропустил такое интересное обсуждение. Можно поподробнее?

Владимир.