Создание из массива с различной длиной ст массив строк по заданной длине

Главная Форумы Задать вопрос Создание из массива с различной длиной ст массив строк по заданной длине

В этой теме 24 ответа, 4 участника, последнее обновление  Isk 2 нед., 3 дн. назад.

Просмотр 15 сообщений - с 1 по 15 (из 25 всего)
  • Автор
    Сообщения
  • #8803 Score: 0

    Isk
    Участник
    3 pts

    Взял за основу существующий код по экспликации полов и дописал через заполнение до одинаковой длины. На листе в таблице все равно получается разные строки по длине. Помогите найти решение для выравнивания длины строк на листе.

    #8804 Score: 0

    Анатолий
    Участник
    29 pts

    Было бы проще, если бы вы пример и скрипт скинули, чтобы не искать по форуму. Не каждый именно этим вопросом занимался. Хотя, ни на что не претендую, возможно кому-то и таких условий задачи хватит, чтобы попробовать помочь.

    #8805 Score: 0

    Isk
    Участник
    3 pts

     

    #8806 Score: 0

    Isk
    Участник
    3 pts

    Я думаю что над вставить табуляцию..Вопрос как вставить табуляцию в текст через питон код.

    #8807 Score: 0

    Анатолий
    Участник
    29 pts

    Имел в виду – пример в ревите и скрипт к нему. Потому что искать все необходимые данные по просторам форума нет большого желания. Пока не очень понятно что к чему добавлялось и каким образом.

    #8808 Score: 0

    Isk
    Участник
    3 pts

    Есть дав списка. Один список – слои ( покрытие пола, стяжка, утеплитель и т.д). Второй толщины (-40мм, -20мм, -30мм и т.д,). Я их соединяю через joint(). Как вставить между двумя элементами списка табуляцию “\t” ?

    #8809 Score: 0

    Isk
    Участник
    3 pts

    Проблема  в том, что при вставке в таблицу выравнивание столбцов табуляции не срабатывает. Может кто знает как это обойти.

    #8810 Score: 1

    ИваСерж
    Модератор
    114 pts

    А создать табличку с 2-мя разными текстовыми полями для двух разных параметров?
    В один можно записать текст, во второй – циферки.

    #8811 Score: 0

    Isk
    Участник
    3 pts

    Этот вариант как последняя надежда хотел записывать (по честному) значения  в одном параметре.

    #8812 Score: 0

    Isk
    Участник
    3 pts

    Я так понимаю это средствами ревит 2019 не предусмотрено. Пока не появится возможность выравнивания по горизонтали <span style=”font-size: 100%;”>РАСТЯНУТЬ</span>

    #8813 Score: 1

    Анатолий
    Участник
    29 pts

    Может и не в тему, но поделюсь также своими мыслями. Проблема действительно состоит в том, что в Ревите не нашлось пока нами (скорей всего нет) возможности растянуть текст по горизонтали, как в том же Word, например, это первое. Второе, что табуляцию возможно таки вставить в текст, возможно изменить ее длину (по умолчанию 8 пробелов), думаю, но главный вопрос стоит в том “Сколько пробелов необходимо?” Поскольку, как вы и писали в начале, питон все посчитал математически правильно, вот только длину текста необходимо измерять не len(i) или Length, необходимо знать длину(ширину) вставляемой строки текста, поскольку ширина символов “ж”,”л” и “(пробела)” отличаются и это мы видим с того же примера на вашей картинке, где количество символов во всех строчках одинаковое. Потому, мне кажется, на данный момент оптимальным действительно будет вариант, который вам предложил Сергей, где просто необходимо приблизительно высчитать пару точек ,по которым будут вставляться два массива текста.

    #8814 Score: 0

    ИваСерж
    Модератор
    114 pts

    главный вопрос стоит в том “Сколько пробелов необходимо?”

    Я думал по поводу этого вопроса. Ширину строк можно найти используя системные библиотеки.
    https://docs.microsoft.com/ru-ru/dotnet/api/system.drawing.graphics.measurestring?view=netframework-4.7.2

    Но, остается вопрос конвертации мм в пункты. Например, у нас в проекте высота шрифта 2.5 мм – это сколько пунктов? Судя по гуглу:
    1 пункт равен 0,376 мм
    т.е. в метод надо подать 2,5 / 0,376 = 6.65 pt

    Если кто-то эксперементировал, как результат?

    #8815 Score: 0

    Isk
    Участник
    3 pts

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

    #8816 Score: 0

    Isk
    Участник
    3 pts

    Ссылка не открывается

    #8817 Score: 0

    ИваСерж
    Модератор
    114 pts

    погуглите Graphics.MeasureString Method

Просмотр 15 сообщений - с 1 по 15 (из 25 всего)

Для ответа в этой теме необходимо авторизоваться.