Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
 Аватар для UseMuse
154 / 154 / 60
Регистрация: 11.01.2016
Сообщений: 1,329

Редактирование размера текста RTF

08.06.2017, 10:03. Показов 3480. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Есть содержимое текста формата rtf, нужно узнать его размер шрифта, и изменить его.
Сейчас приступил к поиску информации, одновременно создав тему.
Помогите найти решение и сэкономить времени)

Добавлено через 22 часа 13 минут
але ап
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.06.2017, 10:03
Ответы с готовыми решениями:

Редактирование размера текста HTML
Добрый день. Есть содержимое текста формата HTML, нужно узнать его размер шрифта, и изменить его. Сейчас приступил к поиску информации,...

Изменение шрифта текста в label в зависимости от объёма (размера) текста
Как сделать так, чтобы шрифт текста в label изменялся, в зависимости от label? : Пример того, что хочу сделать, но без контроллов :

Как сделать чтобы считывал RTF в RichTextBox , место нормального текста символы
Вроде txt нормально открывает, а вот rtf. private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) ...

31
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
10.06.2017, 11:35
Студворк — интернет-сервис помощи студентам
skilllab, а как же ты добавил этот смайлик, не редактируя сообщение... ох вейт
Цитата Сообщение от skilllab Посмотреть сообщение
значит как Fody в WPF накатывать на каждый чих - это норм)) ?
Или целый Reactive для для создания отзывчивой коллекции (вместо написания одного класса) - тоже норм?
Тогда я запутался
На каждый чих - не норм. Своему инструменту - своя область действия, очевидно.
0
 Аватар для skilllab
296 / 236 / 58
Регистрация: 03.02.2011
Сообщений: 2,051
Записей в блоге: 1
10.06.2017, 11:46

Не по теме:

Цитата Сообщение от Psilon Посмотреть сообщение
добавил этот смайлик
Сообщение редактировал, задвоения нет)))



Цитата Сообщение от Psilon Посмотреть сообщение
Своему инструменту - своя область действия
Ну так...если кто-то начинает устанавливать целые фреймворки ради достижения незначительной (единичной, локальной) цели, чего ж там (в топиках) никто не "фукает"? Чего к этому прицепились?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
11.06.2017, 00:49
skilllab, мне вообще пофиг, я обосновывал мнение товарища Usaga. Тем более, что я заранее сказал, что его позицию считаю чуть более слабой Но не дело так рьяно не соглашаться с альтернативной тз
0
Эксперт .NET
 Аватар для Usaga
14797 / 9571 / 1367
Регистрация: 21.01.2016
Сообщений: 36,074
11.06.2017, 05:44
Я против такого подхода потому, что это - фигня с точки зрения архитектуры и здравого смысла. То, что этот контрол идёт в комплекте с .NET ещё не значит, что его нужно вот так вот использовать.

Psilon, diadiavova, я понимаю, что если оно есть и как-то работает, по "чёбы нет?". Это тоже самое (для меня, по крайней мере), что использовать split() для посчёта слов в строке (наверное я уже достал всех этим примеом).

diadiavova, что бы что-то считалось хреновой практикой, оно не обязательно должно крашить приложение и баги какие-то вызывать. И пример с офисом я нахожу хорошим - он демонстрирует мою мысль: у всего своё предназначение и использовать что-то в сценариях, для которых оно не было рассчитано - беспонтовый костыль.

Речь-то пошла про данный контрол почему? Не потому, что он отлично подходит под задачу, а просто потому, что он есть в .NET (и, получается, пофиг, что является частью UI-фреймворка). Лично я бы не стал рассматривать такой вариант даже, если бы писал WF-приложение. Это контрол. Пускай контролит. Не нужно делать всякую фигню просто потому, что можно и приложение не крашится. Пожалуйста.

Достаточно пять минут погуглить какую-нибудь библиотеку для работы с RTF и использовать её.

Добавлено через 1 минуту
Конечно же это всё чисто моё мнение и вы вольны категорично не согласиться.
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
11.06.2017, 11:47
Цитата Сообщение от Usaga Посмотреть сообщение
Я против такого подхода потому, что это - фигня с точки зрения архитектуры и здравого смысла.
Представления о здравом смысле у всех разные. Мне вот, например, здравый смысл подсказывает, что если нужен некий функционал, который предоставляет некий класс, существующий во фреймворке, то надо его использовать. У тебя другое представление. Будем спорить о том чей смысл более здравый? Думаю это бесперспективно.
А вот об архитектуре - поподробнее, если можно, поскольку я здесь не вижу никаких проблем.
Цитата Сообщение от Usaga Посмотреть сообщение
Это тоже самое (для меня, по крайней мере), что использовать split() для посчёта слов в строке (наверное я уже достал всех этим примеом).
А со сплитом-то что не так?
Цитата Сообщение от Usaga Посмотреть сообщение
что бы что-то считалось хреновой практикой, оно не обязательно должно крашить приложение и баги какие-то вызывать.
А что для этого нужно и что из того что нужно присутствует в данном случае?
Цитата Сообщение от Usaga Посмотреть сообщение
И пример с офисом я нахожу хорошим - он демонстрирует мою мысль
Насчет офиса я объяснил в чем разница: такой подход влечет вполне конкретные проблемы, в отличие от библиотек фреймворка. Именно поэтому пример с офисом ничего не иллюстрирует.
Цитата Сообщение от Usaga Посмотреть сообщение
у всего своё предназначение и использовать что-то в сценариях, для которых оно не было рассчитано - беспонтовый костыль.
С костылем согласен, с беспонтовым - нет. Беспонтовым он был бы, если бы не решал задачу. Что касается того, что для чего рассчитано, то, насколько я понимаю, что такое фреймворк, его классы должны быть максимально универсальными и если им находится дополнительное применение, то это скорее плюс, чем минус.
Цитата Сообщение от Usaga Посмотреть сообщение
Речь-то пошла про данный контрол почему? Не потому, что он отлично подходит под задачу
И поэтому тоже, кстати. Могу пояснить, если есть желание. Я, обычно, если на чем-то настаиваю, то могу пояснить конкретно, почему я так считаю.
Цитата Сообщение от Usaga Посмотреть сообщение
а просто потому, что он есть в .NET
Да, и это приводит к тому, что не приходится тянуть неизвестно что, неизвестно кем написанное и неизвестно какие сюрпризы готовящее.
Цитата Сообщение от Usaga Посмотреть сообщение
и, получается, пофиг, что является частью UI-фреймворка
Я готов согласиться с твоей точкой зрения на этот счет, если ты обоснуешь, почему мне не должно быть пофиг. Пока что были только абстрактные "фу".
Цитата Сообщение от Usaga Посмотреть сообщение
Это контрол.
Это прежде всего класс и предоставляется для решения тех задач, которые он умеет решать, независимо от того насколько полно используется его функционал.
Цитата Сообщение от Usaga Посмотреть сообщение
Не нужно делать всякую фигню просто потому, что можно и приложение не крашится.
А этого никто и не предлагает. Я предложил решать с его помощью поставленную задачу на основании того, что он с ней справляется и не влечет никаких негативных последствий. Все-таки это не совсем то, что написал ты.
Цитата Сообщение от Usaga Посмотреть сообщение
Достаточно пять минут погуглить какую-нибудь библиотеку для работы с RTF и использовать её.
Вопрос в том, что ты в результате нагуглишь.
Цитата Сообщение от Usaga Посмотреть сообщение
Конечно же это всё чисто моё мнение и вы вольны категорично не согласиться.
Я готов согласиться, если это будет убедительно обосновано, но покамест я вижу, что все представленные возражения имеют сугубо эстетический характер.
0
Эксперт .NET
 Аватар для Usaga
14797 / 9571 / 1367
Регистрация: 21.01.2016
Сообщений: 36,074
11.06.2017, 12:06
Цитата Сообщение от diadiavova Посмотреть сообщение
Я готов согласиться, если это будет убедительно обосновано, но покамест я вижу, что все представленные возражения имеют сугубо эстетический характер.
Речь о контроле из фреймфорка Windows Forms (да, это отдельный фреймворк, просто идущий в комплекте с .NET). Использование данного контрола для обработки RTF может быть оправдано только при разработке приложения под WinForms. Да и то, так себе решение.

В случае же другого типа приложения (консоль, веб-приложение, WPF или служба) обращаться к WF за контролом для обработки документа... плевок в архитектуру приложения. Я не понимаю, почему для вас такое - норм. Для меня это выглядит как сборка из говна и палок подручных материалов: до чего дотянулись, то и приладили. Работает же.

Пример с офисом про неуместное использование. Я так понимаю, что если бы офис обязательно стоял бы у всех, то с ним была бы та же ситуация, что мы рассматриваем сейчас. Ну а что? Оно уже есть в комплекте?

Цитата Сообщение от diadiavova Посмотреть сообщение
А со сплитом-то что не так?
Вы серьёзно?
0
 Аватар для skilllab
296 / 236 / 58
Регистрация: 03.02.2011
Сообщений: 2,051
Записей в блоге: 1
11.06.2017, 12:18
"Использование данного контрола для обработки RTF может быть оправдано только при разработке приложения под WinForms. Да и то, так себе решение."
Вспомнилось тут ещё вот что: как по вашему, то тянуть целую либу visual basis для того, чтобы обрезать строку слева или справа, вместо написания своих методов на шарпе - это тоже плохо?

Добавлено через 3 минуты
Типа Left() на vb
0
Эксперт .NET
 Аватар для Usaga
14797 / 9571 / 1367
Регистрация: 21.01.2016
Сообщений: 36,074
11.06.2017, 12:24
Цитата Сообщение от skilllab Посмотреть сообщение
тянуть целую либу visual basis для того, чтобы обрезать строку слева или справа, вместо написания своих методов на шарпе - это тоже плохо?
Нет, ведь оно для этого и предназначено.
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
11.06.2017, 12:40
Цитата Сообщение от Usaga Посмотреть сообщение
Использование данного контрола для обработки RTF может быть оправдано только при разработке приложения под WinForms.
Один вопрос, который я задаю на протяжении всей темы: ПО-ЧЕ-МУ?
Цитата Сообщение от Usaga Посмотреть сообщение
В случае же другого типа приложения (консоль, веб-приложение, WPF или служба) обращаться к WF за контролом для обработки документа... плевок в архитектуру приложения.
Насчет архитектуры я в предыдущем посте попросил пояснить и объяснил, что никаких проблем с архитектурой в данном случае не вижу.
Цитата Сообщение от Usaga Посмотреть сообщение
Я не понимаю, почему для вас такое - норм.
Это я тоже уже объяснил неоднократно: это решает проблему наиболее простым способом и не влечет негативных последствий.
Цитата Сообщение от Usaga Посмотреть сообщение
Для меня это выглядит как сборка из говна и палок подручных материалов: до чего дотянулись, то и приладили. Работает же.
Если речь о конкретно этом примере, то я могу пояснить и более подробно, почему считаю предложенное мною решение хорошим. Но тебя ведь смущает не конкретно ртб и ртф, а такой подход вообще, поэтому я заостряю внимание именно на нем и хочу подробного объяснения.
Цитата Сообщение от Usaga Посмотреть сообщение
Я так понимаю, что если бы офис обязательно стоял бы у всех, то с ним была бы та же ситуация, что мы рассматриваем сейчас. Ну а что? Оно уже есть в комплекте?
Дело не только в комплекте, а еще и в том, что это чрезвычайно сложный формат данных и лучше родной библиотеки с ним ничто не справится. Смотрел бы по ситуации, но в общем и целом ничего не имею против такого подхода.
Цитата Сообщение от Usaga Посмотреть сообщение
Вы серьёзно?
Я так понимаю, это тоже "фу" ))
0
Эксперт .NET
 Аватар для Usaga
14797 / 9571 / 1367
Регистрация: 21.01.2016
Сообщений: 36,074
11.06.2017, 12:48
diadiavova, потому, что использовать контрол для обработки и хранения RTF документа - это неправильное использование контрола. Правильное - выводить данные пользователю (ну и разреать редактировать, раз уж оно так умеет). Это его контрольная натура.

Цитата Сообщение от diadiavova Посмотреть сообщение
Дело не только в комплекте, а еще и в том, что это чрезвычайно сложный формат данных и лучше родной библиотеки с ним ничто не справится. Смотрел бы по ситуации, но в общем и целом ничего не имею против такого подхода.
Чего-то подобного я и ожидал услышать.

Цитата Сообщение от diadiavova Посмотреть сообщение
Я так понимаю, это тоже "фу" ))
Да.

Я пытаюсь донести мысль, что поступать так можно только, если это обусловлено какой-то жёсткой необходимойстью. Вот ну нельзя подругому (или некогда - сдавать проект нужно полчаса назад). Это понятно и простительно.

Но считать такое нормой нельзя. Это путь к помойке в коде. Потому, что допустимо станет сразу куча разных других вещей: нужно посчитать что-то в строке? Split()! Нужно с документом EXСEL работать? Обяжем пользователя ставить офис и будем дёргать через Interop, передать параметры в запрос? Concat-им в строку и вроткомпот. Ну и так далее.

Вы не допускаете использование контрола для обработки документов здесь и сейчас. Вы допускаете дерьмовые решения в принципе, везде и всюду. Это страшнее плохой архитектуры.
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
11.06.2017, 13:20
Цитата Сообщение от Usaga Посмотреть сообщение
Я пытаюсь донести мысль
Да это-то не проблема... обосновать, видимо, уже сложнее.
Цитата Сообщение от Usaga Посмотреть сообщение
Обяжем пользователя ставить офис и будем дёргать через Interop, передать параметры в запрос?
Я как-раз, вроде как, настаивал на том, что чем меньше программа за собой тянет - тем лучше. Нэ?
Цитата Сообщение от Usaga Посмотреть сообщение
Вы допускаете дерьмовые решения в принципе, везде и всюду.
Ну почему же везде и всюду. В некоторых местах вполне допускаю, например в каких-то мелких вспомогательных программах одноразового применения. Но в основном дело не в том, что я допускаю дерьмовые решения, просто для того чтобы я признал решение дерьмовым мне нужно убедительное обоснование. А то, что оно кому-то кажется "фу", а почему "фу" он сам не знает - меня не убеждает. Для меня то решение дерьмовое, от которого могут быть дерьмовые последствия. Здесь я этого не увидел, поэтому продолжаю считать такое решение хорошим.
0
Эксперт .NET
 Аватар для Usaga
14797 / 9571 / 1367
Регистрация: 21.01.2016
Сообщений: 36,074
11.06.2017, 14:41
diadiavova, ну ОК.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.06.2017, 14:41

Массовое редактирование изображений - изменение размера, поворот, наложение эффектов
ребят, всем привет у меня такой вопрос возник, я делаю программ для массового редактирования изображений, так вот, у меня в программе...

Чтение и редактирование строк RTF файла
Доброго Вам здоровья! Есть комплексная задача, чувствую что не сильно тяжелая, но с какого бока к ней подойти я не знаю: 1. Открыть и...

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

формулы из текста(rtf)
Здраствуйте!Помогите,пожалуйста!Почему при отображении rtf файла в RichEdit в builder c++ не отображаются вордовские формулы?

Хранение rtf текста в переменной
Мне обязательно надо хранить rtf текст в поле объекта. Для этого пытался использовать поле Text:=string, и присваивание...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru