Рейтинг:
28
Nish Nishant
Ладно, я не понимаю. Зачем использовать RTF
свойство для обычного текста? Почему бы не использовать Text
собственность?
richTextBox1.Text = "Plain text";
Sergey Alexandrovich Kryukov
Мой 5-й, я думаю, что это все, что нужно ОП.
--СА
Nish Nishant
Да, я думаю, что он слишком много думает об этом и ищет сложное решение, когда существует простое.
Nish Nishant
Спасибо, СА.
Abhinav S
См. мои комментарии ниже. :)
Espen Harlinn
Красиво и просто :)
shaneapp
На самом деле я не упоминал, что моя цель использования этого кода была для незашифрованного текста...и я искал ответ целую вечность, но безрезультатно. Кроме того, это первый раз, когда я опубликовал ответ или вопрос, и не был уверен, где поставить "ответы" ...теперь я понимаю, что это не та категория.
Рейтинг:
1
smhiker
I tried the solution posted by 'shaneapp', but I never got it to work, I even Copied the Code directly, but when I tried to Save the File, it would give me an "Invalid file format" error.
After experimenting, I stumbled across this very easy solution that works:
<pre> Dim text As String = "Scott"
' By doing SelectedText - it converts it to RichTextFormat ...
'' (As you will be able to see if you Open the file ...
'' generated below - it contains the rtf format codes.
RichTextBox1.SelectedText = text
RichTextBox1.SaveFile("C:\Test\test1.rtf")
Dave Kreskowiak
Во-первых, вы опубликовали это как решение вопроса пятилетней давности. НЕ ДЕЛАЙ ЭТОГО! Вместо этого опубликуйте его как Совет/трюк, как это было описано пять лет назад в "shaneapp".
Во-вторых, его "решение" - это вовсе не решение какой-либо проблемы.
Кроме того, ваше "решение" на самом деле тоже не является решением, поскольку это в значительной степени здравый смысл. Просто прочитав документацию по элементу управления RichTextBox, вы бы поняли это.
Рейтинг:
0
Abhinav S
Возможно, вам придется понять некоторые различия между richtext и plain text.
Форматированный текст.
Rich text использует только 8-битный формат, который позволяет ему использовать только символы юникода. Однако escape-последовательности Для, например, \u подскажут конвертеру, что делать.
Чтобы преобразовать обычный текст в RTF, вам нужно будет включить теги approrpriate rtf в обычный текст, чтобы они работали в rtf.
Видеть здесь[^] для более детального анализа.
Sergey Alexandrovich Kryukov
Да, очень важно! Мой 5.
(Очень хорошо, что вы так отвечаете на мои комментарии, иначе я бы не заметил таких ответов, так как не получил бы уведомления по электронной почте, надеюсь, другие тоже это понимают. Спасибо.)
--СА
Sergey Alexandrovich Kryukov
То, что вы упомянули, на самом деле является существенной проблемой жесткого наследия до Unicode. Я помню, что мне было трудно решить очень сложную задачу создания ANSI-ориентированного Borland VCL с Unicode; большая часть ее была связана с RichText: как получить текст Unicode.
--СА
Abhinav S
Да. Я помню, что мне было трудно получить оригинальный текст (из rtf), когда я хотел сделать это без использования обходного пути, подобного тому, который использовал OP.
В конце концов я сдался и воспользовался обходным путем :).
Sergey Alexandrovich Kryukov
Но я ее разрешил (будет трудно вспомнить подробности). Статья была напечатана в "The Delphi Magazine" (Web and on paper magazine) и пользовалась большой популярностью, а я пользовался хорошей авторской оплатой :-)
--СА
Abhinav S
Да. Я действительно получил эту идею от тебя. :)
Sergey Alexandrovich Kryukov
Простите, это я вам подсказал? Не помню, где именно...
--СА
Abhinav S
Не напрямую. Но вы ответили на некоторые мои посты с просьбой взглянуть на ваш ответ. Вот как я это понял. :)
Sergey Alexandrovich Kryukov
Таких случаев много, не помнишь, о чем говоришь, радуешься, если тебе что-то помогло.
Спасибо.
--СА
Abhinav S
Такого "единственного" случая не было. Это вообще навело меня на мысль.
Espen Harlinn
Хорошая точка :)
Abhinav S
Спасибо, Эспен.