Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Использование в проекте элемента управления RichTextBox ⇐ ПредыдущаяСтр 9 из 9
1. Добавьте ссылку на System.Windows.Forms.dll. 2. Добавьте директиву using для пространства имен System.Windows.Forms (необязательно). Пример В следующем примере предоставляется образец RTF-файла, который должен быть преобразован. Файл содержит RTF-форматирование, например, данные о шрифте. В нем также содержатся четыре символа Юникода и четыре дополнительных символа ASCII. Файл открывается, передается в RichTextBox как RTF-файл, в нем производится поиск текста, отображаемом в MessageBox, и выполняется вывод в файл в формате UTF-8. Язык C#
Копировать код // Save the following RTF file to the same folder as your .exe file, and call it "test.rtf". /* {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}{\f1\fnil\fprq1\fcharset0 Courier New;}{\f2\fswiss\fprq2\fcharset0 Arial;}}{\colortbl ;\red0\green128\blue0;\red0\green0\blue0;}{\*\generator Msftedit 5.41.21.2508;}\viewkind4\uc1\pard\f0\fs20 This is the \i Greek \i0 word "psyche": \cf1\f1\u968?\u965?\u967?\u942?\cf2\f2 . It is encoded in Unicode.\parHere are four extended \b ASCII \b0 characters (Windows code page 1252): \'e2\'e4\u1233?\'e5\cf0\par} */ class ConvertFromRTF { static void Main() { string path = @"test2.rtf"; //Create the RichTextBox. (Requires a reference to System.Windows.Forms.dll.) System.Windows.Forms.RichTextBox rtBox = new System.Windows.Forms.RichTextBox(); // Get the contents of the RTF file. Note that when it is // stored in the string, it is encoded as UTF-16. string s = System.IO.File.ReadAllText(path); // Display the RTF text. System.Windows.Forms.MessageBox.Show(s); // Convert the RTF to plain text. rtBox.Rtf = s; string plainText = rtBox.Text; // Display plain text output in MessageBox because console // cannot display Greek letters. System.Windows.Forms.MessageBox.Show(plainText); // Output plain text to file, encoded as UTF-8. System.IO.File.WriteAllText(@"output.txt", plainText); } }Символы RTF кодируются восемью битами. Однако формат не позволяет пользователям задавать символы в Юникоде в дополнение к дополнительным символам ASCII из заданных кодовых страниц. Поскольку свойство RichTextBox..::.Text имеет тип string, символы кодируются как Юникод UTF-16. Дополнительные символы ASCII и символы Юникода из исходного RTF-документа правильно кодируются в выводимый текст. При использовании метода File..::.WriteAllText для записи текста на диск, текст кодируется как UTF-8 (без отметки порядка байтов).
|
||
Последнее изменение этой страницы: 2018-06-01; просмотров: 204. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |