Показать сообщение отдельно
Старый 15.08.2017, 08:32   #5  
Daiver is offline
Daiver
Участник
Самостоятельные клиенты AX
 
177 / 44 (2) +++
Регистрация: 19.07.2005
Адрес: Москва
Цитата:
Сообщение от Weez Посмотреть сообщение
Если не затруднит, как именно вы исправили код в этом методе?
X++:
int findLastBlank (str _s)
    {
        int i = 0;
        for (i = strlen(_s); i >= 1; i--)
        {
            if (substr(_s, i, 1) == ' ')
                break;
        }
        return i;
    }
с помощью этого метода принимается решение с какого места будет новая строка. Попробовал вариант когда метод возвращает всегда 0, в этом случае рвется сразу в конце строки, тоже вариант, но не очень визуально красиво получается. Пока добавил дополнительный символ при поиске
X++:
if (substr(_s, i, 1) == ' ' || substr(_s, i, 1) == '-')
в данном случае нам это помогло так как в проблемном поле часто встречается символ "-". Но по хорошему нужно копнуть глубже и исправить класс чтобы он корректно рассчитывал общую высоту разбитой строки и учитывал это при выводе.

Последний раз редактировалось Daiver; 15.08.2017 в 08:54.
За это сообщение автора поблагодарили: Logger (10), Weez (2).